<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" href="/static/oaitohtml.xsl"?>

<!--
<?xml-stylesheet type="text/xsl" href="/oaitohtml.xsl"?>
-->

<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <responseDate>2026-10-12T10:35:13Z</responseDate>
    <request verb="GetRecord" metadataPrefix="oai_dc" identifier="10.57760/sciencedb.32920" >https://www.scidb.cn/oai</request>
<GetRecord>
    <record>
    <header >
    <identifier>10.57760/sciencedb.32920</identifier>
    <datestamp>2026-04-16T11:12:00Z</datestamp>
</header>
    <metadata>
        
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
  <dc:date>2026-04-16</dc:date>
  <dc:title>Training Code for BrO Vertical Profile Retrieval Using a CNN-LSTM Model with Attention Mechanism</dc:title>
  <dc:identifier>doi:10.57760/sciencedb.32920</dc:identifier>
  <dc:language>en</dc:language>
  <dc:description>This code implements a CNN-LSTM + Multi-Head Self-Attention model to retrieve BrO vertical profiles from MAX-DOAS differential slant column densities (DSCDs).Main features:- Data loading: uses a memory-safe MemorySafeDataGenerator to read large-scale training/validation data in Parquet format batch by batch.- Model definition: includes a two-stage residual 1D convolutional encoder, multi-head self-attention bottleneck, residual decoder with skip connections, and a BiLSTM temporal module.- Training pipeline: supports mixed precision training (mixed_float16), multi-GPU distributed strategy (MirroredStrategy), custom R&amp;sup2; metric, learning rate warmup + cosine decay scheduling.- Callbacks and saving: automatically saves the best model checkpoint, records training logs (JSON format), and generates training curve plots.- Crash recovery: automatically saves a crash recovery model if training fails.Input features (length 32):- SZA (Solar Zenith Angle)- RAA (Relative Azimuth Angle)- 9 DSCD values (DSCD_1 &amp;hellip; DSCD_9)- 21 aerosol extinction coefficients (Aerosol_1 &amp;hellip; Aerosol_21)Output target (length 191):- BrO vertical profile (191 altitude levels), column names BrO_1 &amp;hellip; BrO_191Requirements:- Python 3.8+- TensorFlow 2.12+- Pandas, NumPy, PyArrow, MatplotlibUsage steps:1. Install dependencies: pip install -r requirements.txt2. Prepare data: organize Parquet files into directories: train/input, train/output, verify/input, verify/output.3. Modify the current_dir path and training parameters (e.g., batch_size, epochs) in train.py.4. Run training: python train.py</dc:description>
  <dc:subject>BrO vertical profile; CNN-LSTM attention mechanism; MAX-DOAS retrieval</dc:subject>
  <dc:creator>Huang Zhongtao</dc:creator>
  <dc:rights>PUBLIC</dc:rights>
  <dc:rights>https://creativecommons.org/licenses/by/4.0/</dc:rights>
  <dc:type>dataset</dc:type>
  <dc:publisher>Science Data Bank</dc:publisher>
</oai_dc:dc>

    </metadata>
</record>
</GetRecord>
</OAI-PMH>