New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 3940 for trunk/NEMOGCM – NEMO

Changeset 3940 for trunk/NEMOGCM


Ignore:
Timestamp:
2013-06-26T10:10:12+02:00 (11 years ago)
Author:
smasson
Message:

trunk: upgrade XIOS inteface, see #1122

Location:
trunk/NEMOGCM
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/CONFIG/AMM12/EXP00/iodef.xml

    r3771 r3940  
    2121    --> 
    2222     
    23     <file_definition type="multiple_file" sync_freq="1d" min_digits="4"> 
     23    <file_definition type="multiple_file" name="@expname@_@freq@_@startdate@_@enddate@" sync_freq="10d" min_digits="4"> 
    2424     
     25      <file_group id="1ts" output_freq="1ts"  output_level="10" enabled=".TRUE."/> <!-- 1 time step files --> 
     26 
    2527      <file_group id="1h" output_freq="1h"  output_level="10" enabled=".TRUE."/> <!-- 1h files --> 
    2628      <file_group id="2h" output_freq="2h"  output_level="10" enabled=".TRUE."/> <!-- 2h files --> 
  • trunk/NEMOGCM/CONFIG/GYRE/EXP00/iodef.xml

    r3866 r3940  
    2121    --> 
    2222     
    23     <file_definition type="multiple_file" sync_freq="1d" min_digits="4"> 
     23    <file_definition type="multiple_file" name="@expname@_@freq@_@startdate@_@enddate@" sync_freq="1d" min_digits="4"> 
    2424     
     25      <file_group id="1ts" output_freq="1ts"  output_level="10" enabled=".TRUE."/> <!-- 1 time step files --> 
     26 
    2527      <file_group id="1h" output_freq="1h"  output_level="10" enabled=".TRUE."/> <!-- 1h files --> 
    2628      <file_group id="2h" output_freq="2h"  output_level="10" enabled=".TRUE."/> <!-- 2h files --> 
     
    3335      <file_group id="5d" output_freq="5d"  output_level="10" enabled=".TRUE.">  <!-- 5d files -->   
    3436  
    35         <file id="5d_grid_T" name="auto" description="ocean T grid variables" > 
     37   <file id="file1" name_suffix="_grid_T" description="ocean T grid variables" > 
    3638     <field field_ref="toce"         name="votemper"  /> 
    3739     <field field_ref="soce"         name="vosaline"  /> 
     
    4749        </file> 
    4850    
    49         <file id="5d_grid_U" name="auto" description="ocean U grid variables" > 
     51   <file id="file2" name_suffix="_grid_U" description="ocean U grid variables" > 
    5052          <field field_ref="uoce"         name="vozocrtx"  /> 
    5153          <field field_ref="utau"         name="sozotaux"  /> 
    5254        </file> 
    5355    
    54         <file id="5d_grid_V" name="auto" description="ocean V grid variables" > 
     56   <file id="file3" name_suffix="_grid_V" description="ocean V grid variables" > 
    5557          <field field_ref="voce"         name="vomecrty"  />  
    5658          <field field_ref="vtau"         name="sometauy"  />  
    5759        </file> 
    5860    
    59         <file id="5d_grid_W" name="auto" description="ocean W grid variables" > 
     61   <file id="file4" name_suffix="_grid_W" description="ocean W grid variables" > 
    6062          <field field_ref="woce"         name="vovecrtz" /> 
    6163          <field field_ref="avt"          name="votkeavt" /> 
  • trunk/NEMOGCM/CONFIG/GYRE_BFM/EXP00/iodef.xml

    r3771 r3940  
    2121    --> 
    2222     
    23     <file_definition type="multiple_file" sync_freq="1d" min_digits="4"> 
     23    <file_definition type="multiple_file" name="@expname@_@freq@_@startdate@_@enddate@" sync_freq="10d" min_digits="4"> 
    2424     
     25      <file_group id="1ts" output_freq="1ts"  output_level="10" enabled=".TRUE."/> <!-- 1 time step files --> 
     26 
    2527      <file_group id="1h" output_freq="1h"  output_level="10" enabled=".TRUE."/> <!-- 1h files --> 
    2628      <file_group id="2h" output_freq="2h"  output_level="10" enabled=".TRUE."/> <!-- 2h files --> 
  • trunk/NEMOGCM/CONFIG/GYRE_PISCES/EXP00/iodef.xml

    r3771 r3940  
    2121    --> 
    2222     
    23     <file_definition type="multiple_file" sync_freq="1d" min_digits="4"> 
     23    <file_definition type="multiple_file" name="@expname@_@freq@_@startdate@_@enddate@" sync_freq="10d" min_digits="4"> 
    2424     
     25      <file_group id="1ts" output_freq="1ts"  output_level="10" enabled=".TRUE."/> <!-- 1 time step files --> 
     26 
    2527      <file_group id="1h" output_freq="1h"  output_level="10" enabled=".TRUE."/> <!-- 1h files --> 
    2628      <file_group id="2h" output_freq="2h"  output_level="10" enabled=".TRUE."/> <!-- 2h files --> 
     
    3335      <file_group id="5d" output_freq="5d"  output_level="10" enabled=".TRUE.">  <!-- 5d files -->    
    3436  
    35         <file id="5d_grid_T" name="auto" description="ocean T grid variables" > 
     37        <file id="file1" name_suffix="_grid_T" description="ocean T grid variables" > 
    3638     <field field_ref="toce"         name="votemper"  /> 
    3739     <field field_ref="soce"         name="vosaline"  /> 
     
    4749        </file> 
    4850    
    49         <file id="5d_grid_U" name="auto" description="ocean U grid variables" > 
     51        <file id="file2" name_suffix="_grid_U" description="ocean U grid variables" > 
    5052          <field field_ref="uoce"         name="vozocrtx"  /> 
    5153          <field field_ref="utau"         name="sozotaux"  /> 
    5254        </file> 
    5355    
    54         <file id="5d_grid_V" name="auto" description="ocean V grid variables" > 
     56        <file id="file3" name_suffix="_grid_V" description="ocean V grid variables" > 
    5557          <field field_ref="voce"         name="vomecrty"  />  
    5658          <field field_ref="vtau"         name="sometauy"  />  
    5759        </file> 
    5860    
    59         <file id="5d_grid_W" name="auto" description="ocean W grid variables" > 
     61        <file id="file4" name_suffix="_grid_W" description="ocean W grid variables" > 
    6062          <field field_ref="woce"         name="vovecrtz" /> 
    6163          <field field_ref="avt"          name="votkeavt" /> 
     
    6365        </file> 
    6466 
    65    <file id="5d_ptrc_T" name="auto" description="lobster sms variables" > 
     67   <file id="file5" name="_ptrc_T" description="lobster sms variables" > 
    6668          <field field_ref="DET"      /> 
    6769          <field field_ref="ZOO"      /> 
     
    8284      <file_group id="1y"  output_freq="1y" output_level="10" enabled=".TRUE."> <!-- real yearly files --> 
    8385 
    84    <file id="1y_diad_T" name="auto" description="additional lobster diagnostics" >   
     86   <file id="file6" name_suffix="_diad_T" description="additional lobster diagnostics" >   
    8587          <field field_ref="FNO3PHY"   />  
    8688          <field field_ref="FNH4PHY"   />  
  • trunk/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/iodef_ar5.xml

    r3771 r3940  
    2626    --> 
    2727     
    28     <file_definition type="multiple_file" output_level="10" sync_freq="1d" min_digits="4"> 
     28    <file_definition type="multiple_file" name="@expname@_@freq@_@startdate@_@enddate@" output_level="10" sync_freq="2mo" min_digits="4"> 
    2929      <!-- 
    3030+++++++++++++++++++++++++++++++++++++++++++++++   daily   ++++++++++++++++++++++++++++++++++++++++++++++++++ 
    3131        --> 
    3232      <file_group id="1d" output_freq="1d"  enabled=".TRUE.">                      <!-- 1d files --> 
    33    <file id="1d_grid_T" name="auto" name_suffix="_table2.2" >         <!-- grid T  --> 
     33   <file id="file1" name_suffix="_grid_T_table2.2" >         <!-- grid T  --> 
    3434     <field field_ref="sst"          name='tos'      long_name="sea_surface_temperature"                              level="2"                      /> 
    3535     <field field_ref="sst2"         name='tossq'    long_name="square_of_sea_surface_temperature"                    level="2"                      /> 
     
    4343   <!-- 
    4444..............................................    grid T   ................................................. 
    45      --> 
    46    <file_group id="1m_grid_T" name="auto" >                                                        <!-- grid T --> 
    47       
    48      <file id="1m grid_T table 2.2" name_suffix="_table2.2" > 
    49        <field field_ref="botpres"      name="pbo"      long_name="sea_water_pressure_at_sea_floor"                               /> 
    50        <!-- pso : sea_water_pressure_at_sea_water_surface = 0 --> 
    51        <field field_ref="ssh"          name="zos"      long_name="sea_surface_height_above_geoid"                                 /> 
    52        <field field_ref="ssh2"         name="zossq"    long_name="square_of_sea_surface_height_above_geoid"             level="2" /> 
    53        <!-- masscello : sea_water_mass_per_unit_area = cellthc*rau0                                          no time changes --> 
    54        <field field_ref="cellthc"      name="thkcello" long_name="cell_thickness"                                                 /> <!-- no time changes --> 
    55        <field field_ref="toce"         name="thetao"   long_name="sea_water_potential_temperature"                                /> 
    56        <field field_ref="sst"          name="tos"      long_name="sea_surface_temperature"                              level="1" /> 
    57        <field field_ref="sst2"         name="tossq"    long_name="square_of_sea_surface_temperature"                    level="2" /> 
    58        <field field_ref="soce"         name="so"       long_name="sea_water_salinity"                                             /> 
    59        <field field_ref="sss"          name="sos"      long_name="sea_surface_salinity"                                 level="1" /> 
    60        <field field_ref="rhop"         name="rhopoto"  long_name="sea_water_potential_density"                          level="2" /> 
    61        <!-- no agessc : sea_water_age_since_surface_contact --> 
    62        <!-- no cfc11  : moles_per_unit_mass_of_cfc11_in_sea_water --> 
    63        <!-- msftbarot : ocean_barotropic_mass_streamfunction : offline --> 
    64        <!-- mlotst    :           ocean_mixed_layer_thickness_defined_by_sigma_t : must be done offline --> 
    65        <!-- mlotstsq  : square_of_ocean_mixed_layer_thickness_defined_by_sigma_t : must be done offline --> 
    66        <field field_ref="mldkz5"       name='omlmax'   long_name="ocean_mixed_layer_thickness_defined_by_mixing_scheme" level="2" operation="maximum" /> 
    67      </file>    
    68       
    69      <file id="1m grid_T table 2.5" name_suffix="_table2.5" > 
    70        <field field_ref="rain"         name="pr"       long_name="rainfall_flux"                                           level="1" /> 
    71        <field field_ref="snow_ao_cea"  name="prsn"     long_name="snowfall_flux"                                           level="1" /> 
    72        <field field_ref="evap_ao_cea"  name="evs"      long_name="water_evaporation_flux"                                  level="1" /> 
    73        <field field_ref="runoffs"      name="friver"   long_name="water_flux_into_sea_water_from_rivers"                   level="1" /> 
    74        <field field_ref="calving"      name="ficeberg" long_name="water_flux_into_sea_water_from_icebergs"                 level="1" /> 
    75        <field field_ref="isnwmlt_cea"  name="fsitherm" long_name="water_flux_into_sea_water_due_to_sea_ice_thermodynamics" level="1" /> 
    76        <field field_ref="empmr"        name="wfo"      long_name="water_flux_into_sea_water"                               level="1" /> 
    77        <!-- wfonocorr : water_flux_into_sea_water_without_flux_correction : emp - erp -->   
    78        <field field_ref="erp"          name="wfcorr"   long_name="water_flux_correction"                                   level="1" /> <!-- usually = 0 --> 
    79      </file>    
    80       
    81      <file id="1m grid_T table 2.6" name_suffix="_table2.6" > 
    82        <!-- vsfpr    : virtual_salt_flux_into_sea_water_due_to_rainfall    = 0 -->  
    83        <!-- vsfevap  : virtual_salt_flux_into_sea_water_due_to_evaporation = 0 -->  
    84        <!-- vsfriver : virtual_salt_flux_into_sea_water_from_rivers        = 0 -->     
    85        <field field_ref="fsal_virt_cea" name="vsfsit" long_name="virtual_salt_flux_into_sea_water_due_to_sea_ice_thermodynamics" level="1" /> 
    86        <!-- vsf      : virtual_salt_flux_into_sea_water = fsal_virtual + fsal_real --> 
    87        <!-- wfcorr   : virtual_salt_flux_correction                        = 0 -->  
    88        <field field_ref="fsal_virt_cea" name="sfdsi"  long_name="downward_sea_ice_basal_salt_flux"                               level="1" /> 
    89        <!-- sfriver  : salt_flux_into_sea_water_from_rivers                = 0 -->  
    90      </file>    
    91       
    92      <file id="1m grid_T table 2.7" name_suffix="_table2.7" > 
    93        <!-- hfgeou : upward_geothermal_heat_flux_at_sea_floor : cte, see nambbc and trabbc.F90 --> 
    94        <field field_ref="hflx_rain_cea" name="hfrainds"    long_name="temperature_flux_due_to_rainfall_expressed_as_heat_flux_into_sea_water"      level="1" /> 
    95        <field field_ref="hflx_evap_cea" name="hfevapds"    long_name="temperature_flux_due_to_evaporation_expressed_as_heat_flux_out_of_sea_water" level="1" /> 
    96        <field field_ref="hflx_rnf_cea"  name="hfrunoffds"  long_name="temperature_flux_due_to_runoff_expressed_as_heat_flux_into_sea_water"        level="1" /> 
    97        <field field_ref="hflx_snow_cea" name="hfsnthermds" long_name="heat_flux_into_sea_water_due_to_snow_thermodynamics"                         level="1" /> 
    98        <field field_ref="hflx_ice_cea"  name="hfsithermds" long_name="heat_flux_into_sea_water_due_to_sea_ice_thermodynamics"                      level="1" /> 
    99        <field field_ref="hflx_cal_cea"  name="hfibthermds" long_name="heat_flux_into_sea_water_due_to_iceberg_thermodynamics"                      level="1" /> 
    100        <!-- rlds   : surface_net_downward_longwave_flux : not available --> 
    101        <!-- hfls   : surface_downward_latent_heat_flux  : not available --> 
    102        <!-- hfss   : surface_downward_sensible_heat_flux: not available --> 
    103        <field field_ref="qns"           name="nshfls"      long_name="surface_net_downward_non_solar_flux"                                         level="1" /> 
    104        <field field_ref="qsr"           name="rsntds"      long_name="surface_net_downward_shortwave_flux"                                         level="1" /> 
    105        <field field_ref="qsr3d"         name="rsds"        long_name="downwelling_shortwave_flux_in_sea_water"                                     level="1" /> 
    106        <field field_ref="qrp"           name="hfcorr"      long_name="heat_flux_correction"                                                        level="1" /> 
    107      </file>    
    108    </file_group> 
     45     -->    
     46   <file id="file2" name_suffix="_grid_T_table2.2" > 
     47     <field field_ref="botpres"      name="pbo"      long_name="sea_water_pressure_at_sea_floor"                               /> 
     48     <!-- pso : sea_water_pressure_at_sea_water_surface = 0 --> 
     49     <field field_ref="ssh"          name="zos"      long_name="sea_surface_height_above_geoid"                                 /> 
     50     <field field_ref="ssh2"         name="zossq"    long_name="square_of_sea_surface_height_above_geoid"             level="2" /> 
     51     <!-- masscello : sea_water_mass_per_unit_area = cellthc*rau0                                          no time changes --> 
     52     <field field_ref="cellthc"      name="thkcello" long_name="cell_thickness"                                                 /> <!-- no time changes --> 
     53     <field field_ref="toce"         name="thetao"   long_name="sea_water_potential_temperature"                                /> 
     54     <field field_ref="sst"          name="tos"      long_name="sea_surface_temperature"                              level="1" /> 
     55     <field field_ref="sst2"         name="tossq"    long_name="square_of_sea_surface_temperature"                    level="2" /> 
     56     <field field_ref="soce"         name="so"       long_name="sea_water_salinity"                                             /> 
     57     <field field_ref="sss"          name="sos"      long_name="sea_surface_salinity"                                 level="1" /> 
     58     <field field_ref="rhop"         name="rhopoto"  long_name="sea_water_potential_density"                          level="2" /> 
     59     <!-- no agessc : sea_water_age_since_surface_contact --> 
     60     <!-- no cfc11  : moles_per_unit_mass_of_cfc11_in_sea_water --> 
     61     <!-- msftbarot : ocean_barotropic_mass_streamfunction : offline --> 
     62     <!-- mlotst    :           ocean_mixed_layer_thickness_defined_by_sigma_t : must be done offline --> 
     63     <!-- mlotstsq  : square_of_ocean_mixed_layer_thickness_defined_by_sigma_t : must be done offline --> 
     64     <field field_ref="mldkz5"       name='omlmax'   long_name="ocean_mixed_layer_thickness_defined_by_mixing_scheme" level="2" operation="maximum" /> 
     65   </file>    
     66    
     67   <file id="file3" name_suffix="_grid_T_table2.5" > 
     68     <field field_ref="rain"         name="pr"       long_name="rainfall_flux"                                           level="1" /> 
     69     <field field_ref="snow_ao_cea"  name="prsn"     long_name="snowfall_flux"                                           level="1" /> 
     70     <field field_ref="evap_ao_cea"  name="evs"      long_name="water_evaporation_flux"                                  level="1" /> 
     71     <field field_ref="runoffs"      name="friver"   long_name="water_flux_into_sea_water_from_rivers"                   level="1" /> 
     72     <field field_ref="calving"      name="ficeberg" long_name="water_flux_into_sea_water_from_icebergs"                 level="1" /> 
     73     <field field_ref="isnwmlt_cea"  name="fsitherm" long_name="water_flux_into_sea_water_due_to_sea_ice_thermodynamics" level="1" /> 
     74     <field field_ref="empmr"        name="wfo"      long_name="water_flux_into_sea_water"                               level="1" /> 
     75     <!-- wfonocorr : water_flux_into_sea_water_without_flux_correction : emp - erp -->   
     76     <field field_ref="erp"          name="wfcorr"   long_name="water_flux_correction"                                   level="1" /> <!-- usually = 0 --> 
     77   </file>    
     78    
     79   <file id="file4" name_suffix="_grid_T_table2.6" > 
     80     <!-- vsfpr    : virtual_salt_flux_into_sea_water_due_to_rainfall    = 0 -->  
     81     <!-- vsfevap  : virtual_salt_flux_into_sea_water_due_to_evaporation = 0 -->  
     82     <!-- vsfriver : virtual_salt_flux_into_sea_water_from_rivers        = 0 -->       
     83     <field field_ref="fsal_virt_cea" name="vsfsit" long_name="virtual_salt_flux_into_sea_water_due_to_sea_ice_thermodynamics" level="1" /> 
     84     <!-- vsf      : virtual_salt_flux_into_sea_water = fsal_virtual + fsal_real --> 
     85     <!-- wfcorr   : virtual_salt_flux_correction                        = 0 -->  
     86     <field field_ref="fsal_virt_cea" name="sfdsi"  long_name="downward_sea_ice_basal_salt_flux"                               level="1" /> 
     87     <!-- sfriver  : salt_flux_into_sea_water_from_rivers                = 0 -->  
     88   </file>    
     89    
     90   <file id="file5" name_suffix="_grid_T_table2.7" > 
     91     <!-- hfgeou : upward_geothermal_heat_flux_at_sea_floor : cte, see nambbc and trabbc.F90 --> 
     92     <field field_ref="hflx_rain_cea" name="hfrainds"    long_name="temperature_flux_due_to_rainfall_expressed_as_heat_flux_into_sea_water"      level="1" /> 
     93     <field field_ref="hflx_evap_cea" name="hfevapds"    long_name="temperature_flux_due_to_evaporation_expressed_as_heat_flux_out_of_sea_water" level="1" /> 
     94     <field field_ref="hflx_rnf_cea"  name="hfrunoffds"  long_name="temperature_flux_due_to_runoff_expressed_as_heat_flux_into_sea_water"        level="1" /> 
     95     <field field_ref="hflx_snow_cea" name="hfsnthermds" long_name="heat_flux_into_sea_water_due_to_snow_thermodynamics"                         level="1" /> 
     96     <field field_ref="hflx_ice_cea"  name="hfsithermds" long_name="heat_flux_into_sea_water_due_to_sea_ice_thermodynamics"                      level="1" /> 
     97     <field field_ref="hflx_cal_cea"  name="hfibthermds" long_name="heat_flux_into_sea_water_due_to_iceberg_thermodynamics"                      level="1" /> 
     98     <!-- rlds   : surface_net_downward_longwave_flux : not available --> 
     99     <!-- hfls   : surface_downward_latent_heat_flux  : not available --> 
     100     <!-- hfss   : surface_downward_sensible_heat_flux: not available --> 
     101     <field field_ref="qns"           name="nshfls"      long_name="surface_net_downward_non_solar_flux"                                         level="1" /> 
     102     <field field_ref="qsr"           name="rsntds"      long_name="surface_net_downward_shortwave_flux"                                         level="1" /> 
     103     <field field_ref="qsr3d"         name="rsds"        long_name="downwelling_shortwave_flux_in_sea_water"                                     level="1" /> 
     104     <field field_ref="qrp"           name="hfcorr"      long_name="heat_flux_correction"                                                        level="1" /> 
     105   </file>    
    109106   <!-- 
    110107..............................................    grid U   ................................................. 
    111      --> 
    112    <file_group id="1m_grid_U" name="auto" >                                                        <!-- grid U --> 
    113  
    114      <file id="1m grid_U table 2.3" name_suffix="_table2.3" > 
    115        <field field_ref="uoce"         name="uo"      long_name="sea_water_x_velocity"                                       /> 
    116        <field field_ref="u_masstr"     name="umo"     long_name="ocean_mass_x_transport"                           level="1" /> 
    117        <field field_ref="u_heattr"     name="hfx"     long_name="ocean_heat_x_transport"                           level="1" /> 
    118        <field field_ref="ueiv_heattr"  name="hfxba"   long_name="ocean_heat_x_transport_due_to_bolus_advection"    level="2" /> 
    119        <field field_ref="udiff_heattr" name="hfxdiff" long_name="ocean_heat_x_transport_due_to_diffusion"          level="2" /> 
    120      </file>    
    121  
    122      <file id="1m grid_U table 2.8" name_suffix="_table2.8" > 
    123        <field field_ref="utau"         name="tauuo" long_name="surface_downward_x_stress"                          level="1" /> 
    124        <!-- tauucorr : surface_downward_x_stress_correction = 0 --> 
    125      </file>    
    126  
    127    </file_group> 
     108   --> 
     109   <file id="file6" name_suffix="_grid_U_table2.3" > 
     110     <field field_ref="uoce"         name="uo"      long_name="sea_water_x_velocity"                                       /> 
     111     <field field_ref="u_masstr"     name="umo"     long_name="ocean_mass_x_transport"                           level="1" /> 
     112     <field field_ref="u_heattr"     name="hfx"     long_name="ocean_heat_x_transport"                           level="1" /> 
     113     <field field_ref="ueiv_heattr"  name="hfxba"   long_name="ocean_heat_x_transport_due_to_bolus_advection"    level="2" /> 
     114     <field field_ref="udiff_heattr" name="hfxdiff" long_name="ocean_heat_x_transport_due_to_diffusion"          level="2" /> 
     115   </file>    
     116    
     117   <file id="file7" name_suffix="_grid_U_table2.8" > 
     118     <field field_ref="utau"         name="tauuo" long_name="surface_downward_x_stress"                          level="1" /> 
     119     <!-- tauucorr : surface_downward_x_stress_correction = 0 --> 
     120   </file>    
    128121   <!-- 
    129122..............................................    grid V   ................................................. 
    130      --> 
    131    <file_group id="1m_grid_V" name="auto" >                                                        <!-- grid V --> 
    132  
    133      <file id="1m grid_V table 2.3" name_suffix="_table2.3" > 
    134        <field field_ref="voce"         name="vo"      long_name="sea_water_y_velocity"                                       /> 
    135        <field field_ref="v_masstr"     name="vmo"     long_name="ocean_mass_y_transport"                           level="1" /> 
    136        <field field_ref="v_heattr"     name="hfy"     long_name="ocean_heat_y_transport"                           level="1" /> 
    137        <field field_ref="veiv_heattr"  name="hfyba"   long_name="ocean_heat_y_transport_due_to_bolus_advection"    level="2" /> 
    138        <field field_ref="vdiff_heattr" name="hfydiff" long_name="ocean_heat_y_transport_due_to_diffusion"          level="2" /> 
    139      </file>    
    140  
    141      <file id="1m grid_V table 2.8" name_suffix="_table2.8" > 
    142        <field field_ref="vtau"         name="tauvo" long_name="surface_downward_y_stress"                          level="1" /> 
    143        <!-- tauvcorr : surface_downward_y_stress_correction = 0 --> 
    144      </file>    
    145  
    146    </file_group> 
     123   --> 
     124   <file id="file8" name_suffix="_grid_V_table2.3" > 
     125     <field field_ref="voce"         name="vo"      long_name="sea_water_y_velocity"                                       /> 
     126     <field field_ref="v_masstr"     name="vmo"     long_name="ocean_mass_y_transport"                           level="1" /> 
     127     <field field_ref="v_heattr"     name="hfy"     long_name="ocean_heat_y_transport"                           level="1" /> 
     128     <field field_ref="veiv_heattr"  name="hfyba"   long_name="ocean_heat_y_transport_due_to_bolus_advection"    level="2" /> 
     129     <field field_ref="vdiff_heattr" name="hfydiff" long_name="ocean_heat_y_transport_due_to_diffusion"          level="2" /> 
     130   </file>    
     131    
     132   <file id="file9" name_suffix="_grid_V_table2.8" > 
     133     <field field_ref="vtau"         name="tauvo" long_name="surface_downward_y_stress"                          level="1" /> 
     134     <!-- tauvcorr : surface_downward_y_stress_correction = 0 --> 
     135   </file>    
    147136   <!-- 
    148137..............................................    grid W   ................................................. 
    149      --> 
    150    <file_group id="1m_grid_W" name="auto" >                                                        <!-- grid W --> 
    151       
    152      <file id="1m grid_W table 2.3" name_suffix="_table2.3" > 
    153        <field field_ref="w_masstr"   name="wmo"   long_name="upward_ocean_mass_transport"                                    /> 
    154        <field field_ref="w_masstr2"  name="wmosq" long_name="square_pf_upward_ocean_mass_transport"                          /> 
    155      </file>    
    156       
    157      <file id="1m grid_W table 2.9" name_suffix="_table2.9" > 
    158        <field field_ref="avt"     name="difvho"   long_name="ocean_vertical_heat_diffusivity"                  level="2" /> 
    159        <field field_ref="avs"     name="difvso"   long_name="ocean_vertical_salt_diffusivity"                  level="2" /> 
    160        <!-- difvtrbo : ocean_vertical_tracer_diffusivity_due_to_background : cte with time, see namelist parameters nn_avb and  nn_havtb --> 
    161        <field field_ref="av_tide" name="difvtrto" long_name="ocean_vertical_tracer_diffusivity_due_to_tides"   level="2" /> 
    162        <!-- tnpeo     : tendency_of_ocean_potential_energy_content                   : not available --> 
    163        <!-- tnpeot    : tendency_of_ocean_potential_energy_content_due_to_tides      : not available --> 
    164        <!-- tnpeotb   : tendency_of_ocean_potential_energy_content_due_to_background : not available --> 
    165        <field field_ref="avm"     name="difvmo"   long_name="ocean_vertical_momentum_diffusivity"              level="2" /> 
    166        <!-- difvmbo : ocean_vertical_momentum_diffusivity_due_to_background : cte with time, see namelist parameters nn_avb --> 
    167        <field field_ref="av_tide" name="difvmto"  long_name="ocean_vertical_momentum_diffusivity_due_to_tides" level="2" /> <!-- same as tracer --> 
    168        <!-- difvmfdo : ocean_vertical_momentum_diffusivity_due_to_form_drag : ??? --> 
    169        <!-- dispkevfo : ocean_kinetic_energy_dissipation_per_unit_area_due_to_vertical_friction : not available --> 
    170      </file> 
    171  
    172      <file id="1m grid_W table 2.10" name_suffix="_table2.10" > 
    173        <!-- if ln_traldf_lap    =  .true. --> 
    174        <field field_ref="aht2d_eiv" name="diftrblo" long_name="ocean_tracer_bolus_laplacian_diffusivity"                     level="2" /> 
    175        <!-- diftrelo : ocean_tracer_epineutral_laplacian_diffusivity : cte with time, see ln_traldf_iso --> 
    176        <!-- diftrxylo : ocean_tracer_xy_laplacian_diffusivity : cte with time --> 
    177        <!-- if ln_traldf_bilap  =  .true. --> 
    178        <!-- field field_ref="diftrbbo" name="aht2d_eiv" long_name="ocean_tracer_bolus_biharmonic_diffusivity"                    level="2" /--> 
    179        <!-- diftrebo : ocean_tracer_epineutral_biharmonic_diffusivity : cte with time, see ln_traldf_iso --> 
    180        <!-- diftrxybo : ocean_tracer_xy_biharmonic_diffusivity : cte with time --> 
    181        <!-- tnkebto : tendency_of_ocean_eddy_kinetic_energy_content_due_to_bolus_transport : not available --> 
    182        <!-- difmxylo : ocean_momentum_xy_laplacian_diffusivity : cte with time, see ln_dynldf_lap --> 
    183        <!-- difmxybo : ocean_momentum_xy_biharmonic_diffusivity : cte with time, see ln_dynldf_bilap --> 
    184        <!-- dispkexyfo : ocean_kinetic_energy_dissipation_per_unit_area_due_to_xy_friction : not available --> 
    185      </file>    
    186  
    187    </file_group> 
     138   --> 
     139   <file id="file10" name_suffix="_grid_W_table2.3" > 
     140     <field field_ref="w_masstr"   name="wmo"   long_name="upward_ocean_mass_transport"                                    /> 
     141     <field field_ref="w_masstr2"  name="wmosq" long_name="square_pf_upward_ocean_mass_transport"                          /> 
     142   </file>    
     143    
     144   <file id="file11" name_suffix="_grid_W_table2.9" > 
     145     <field field_ref="avt"     name="difvho"   long_name="ocean_vertical_heat_diffusivity"                  level="2" /> 
     146     <field field_ref="avs"     name="difvso"   long_name="ocean_vertical_salt_diffusivity"                  level="2" /> 
     147     <!-- difvtrbo : ocean_vertical_tracer_diffusivity_due_to_background : cte with time, see namelist parameters nn_avb and  nn_havtb --> 
     148     <field field_ref="av_tide" name="difvtrto" long_name="ocean_vertical_tracer_diffusivity_due_to_tides"   level="2" /> 
     149     <!-- tnpeo     : tendency_of_ocean_potential_energy_content                   : not available --> 
     150     <!-- tnpeot    : tendency_of_ocean_potential_energy_content_due_to_tides      : not available --> 
     151     <!-- tnpeotb   : tendency_of_ocean_potential_energy_content_due_to_background : not available --> 
     152     <field field_ref="avm"     name="difvmo"   long_name="ocean_vertical_momentum_diffusivity"              level="2" /> 
     153     <!-- difvmbo : ocean_vertical_momentum_diffusivity_due_to_background : cte with time, see namelist parameters nn_avb --> 
     154     <field field_ref="av_tide" name="difvmto"  long_name="ocean_vertical_momentum_diffusivity_due_to_tides" level="2" /> <!-- same as tracer --> 
     155     <!-- difvmfdo : ocean_vertical_momentum_diffusivity_due_to_form_drag : ??? --> 
     156     <!-- dispkevfo : ocean_kinetic_energy_dissipation_per_unit_area_due_to_vertical_friction : not available --> 
     157   </file> 
     158    
     159   <file id="file12" name_suffix="_grid_W_table2.10" > 
     160     <!-- if ln_traldf_lap    =  .true. --> 
     161     <field field_ref="aht2d_eiv" name="diftrblo" long_name="ocean_tracer_bolus_laplacian_diffusivity"                     level="2" /> 
     162     <!-- diftrelo : ocean_tracer_epineutral_laplacian_diffusivity : cte with time, see ln_traldf_iso --> 
     163     <!-- diftrxylo : ocean_tracer_xy_laplacian_diffusivity : cte with time --> 
     164     <!-- if ln_traldf_bilap  =  .true. --> 
     165     <!-- field field_ref="diftrbbo" name="aht2d_eiv" long_name="ocean_tracer_bolus_biharmonic_diffusivity"                    level="2" /--> 
     166     <!-- diftrebo : ocean_tracer_epineutral_biharmonic_diffusivity : cte with time, see ln_traldf_iso --> 
     167     <!-- diftrxybo : ocean_tracer_xy_biharmonic_diffusivity : cte with time --> 
     168     <!-- tnkebto : tendency_of_ocean_eddy_kinetic_energy_content_due_to_bolus_transport : not available --> 
     169     <!-- difmxylo : ocean_momentum_xy_laplacian_diffusivity : cte with time, see ln_dynldf_lap --> 
     170     <!-- difmxybo : ocean_momentum_xy_biharmonic_diffusivity : cte with time, see ln_dynldf_bilap --> 
     171     <!-- dispkexyfo : ocean_kinetic_energy_dissipation_per_unit_area_due_to_xy_friction : not available --> 
     172   </file>    
    188173   <!-- 
    189174..............................................    scalar   ................................................. 
    190      --> 
    191    <file id="1m_scalar" name="auto" name_suffix="_table2.2" >         <!-- scalar --> 
     175   --> 
     176   <file id="file13" name_suffix="_scalar_table2.2" >         <!-- scalar --> 
    192177     <field field_ref="masstot"    name="masso"    long_name="sea_water_mass"                                /> 
    193178     <field field_ref="voltot"     name="volo"     long_name="sea_water_volume"                              /> 
     
    200185   <!-- 
    201186..............................................    icemod   ................................................. 
    202      --> 
    203    <file id="1m_icemod" name="auto" name_suffix="_table2.2" >         <!-- scalar --> 
     187   --> 
     188   <file id="file14" name_suffix="_icemod_table2.2" >         <!-- scalar --> 
    204189     <field field_ref="ice_pres"                     /> 
    205190     <field field_ref="ice_cover"    name="sic"        long_name="sea_ice_area_fraction"                            /> 
  • trunk/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/iodef_default.xml

    r3771 r3940  
    2121    --> 
    2222     
    23     <file_definition type="multiple_file" sync_freq="1d" min_digits="4"> 
     23    <file_definition type="multiple_file" name="@expname@_@freq@_@startdate@_@enddate@" sync_freq="10d" min_digits="4"> 
    2424     
     25      <file_group id="1ts" output_freq="1ts"  output_level="10" enabled=".TRUE."/> <!-- 1 time step files --> 
     26 
    2527      <file_group id="1h" output_freq="1h"  output_level="10" enabled=".TRUE."/> <!-- 1h files --> 
    2628      <file_group id="2h" output_freq="2h"  output_level="10" enabled=".TRUE."/> <!-- 2h files --> 
     
    3133      <file_group id="1d" output_freq="1d"  output_level="10" enabled=".TRUE."> <!-- 1d files --> 
    3234 
    33    <file id="1d_grid_T" name="auto" description="ocean T grid variables" > 
     35   <file id="file1" name_suffix="_grid_T" description="ocean T grid variables" > 
    3436     <field field_ref="sst"          name="tos"      long_name="sea_surface_temperature"                       /> 
    3537     <field field_ref="sss"          name="sos"      long_name="sea_surface_salinity"                          /> 
     
    3739   </file> 
    3840 
    39    <file id="1d_grid_U" name="auto" description="ocean U grid variables" > 
     41   <file id="file2" name_suffix="_grid_U" description="ocean U grid variables" > 
    4042     <field field_ref="suoce"        name="uos"     long_name="sea_surface_x_velocity"    /> 
    4143   </file> 
    4244    
    43    <file id="1d_grid_V" name="auto" description="ocean V grid variables" > 
     45   <file id="file3" name_suffix="_grid_V" description="ocean V grid variables" > 
    4446     <field field_ref="svoce"        name="vos"     long_name="sea_surface_y_velocity"    /> 
    4547   </file> 
    4648    
    4749      </file_group> 
     50 
    4851      <file_group id="3d" output_freq="3d"  output_level="10" enabled=".TRUE."/> <!-- 3d files -->     
    4952 
    5053      <file_group id="5d" output_freq="5d"  output_level="10" enabled=".TRUE.">  <!-- 5d files -->    
    5154 
    52    <file id="5d_grid_T" name="auto" description="ocean T grid variables" > 
     55   <file id="file4" name_suffix="_grid_T" description="ocean T grid variables" > 
    5356     <field field_ref="toce"         name="thetao"   long_name="sea_water_potential_temperature"               /> 
    5457     <field field_ref="soce"         name="so"       long_name="sea_water_salinity"                            /> 
     
    6669   </file> 
    6770    
    68    <file id="5d_grid_U" name="auto" description="ocean U grid variables" > 
     71   <file id="file5" name_suffix="_grid_U" description="ocean U grid variables" > 
    6972     <field field_ref="uoce"         name="uo"      long_name="sea_water_x_velocity"      /> 
    7073     <field field_ref="suoce"        name="uos"     long_name="sea_surface_x_velocity"    /> 
     
    7275   </file> 
    7376    
    74    <file id="5d_grid_V" name="auto" description="ocean V grid variables" > 
     77   <file id="file6" name_suffix="_grid_V" description="ocean V grid variables" > 
    7578     <field field_ref="voce"         name="vo"      long_name="sea_water_y_velocity"      /> 
    7679     <field field_ref="svoce"        name="vos"     long_name="sea_surface_y_velocity"    /> 
     
    7881   </file> 
    7982    
    80    <file id="5d_grid_W" name="auto" description="ocean W grid variables" > 
     83   <file id="file7" name_suffix="_grid_W" description="ocean W grid variables" > 
    8184     <field field_ref="woce"         name="wo"      long_name="ocean vertical velocity"         /> 
    8285     <field field_ref="avt"          name="difvho"  long_name="ocean_vertical_heat_diffusivity" /> 
    8386   </file> 
    8487    
    85    <file id="5d_icemod" name="auto" description="ice variables" > 
     88   <file id="file8" name_suffix="_icemod" description="ice variables" > 
    8689     <field field_ref="ice_pres"                     /> 
    8790     <field field_ref="snowthic_cea" name="snd"     long_name="surface_snow_thickness"   /> 
  • trunk/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/iodef_demo.xml

    r3771 r3940  
    2121    --> 
    2222     
    23     <file_definition type="multiple_file" sync_freq="1d" min_digits="4"> 
     23    <file_definition type="multiple_file" name="@expname@_@freq@_@startdate@_@enddate@" sync_freq="1d" min_digits="4"> 
    2424     
    2525      <file_group id="1h" output_freq="1h"  output_level="10" enabled=".TRUE."> <!-- 1h files --> 
    26    <file id="1h_grid_T" name="auto" description="ocean T grid variables" > 
     26   <file id="file1" name_suffix="_grid_T" description="ocean T grid variables" > 
    2727     <field field_ref="sst"  /> 
    2828     <field field_ref="qsr"  /> 
     
    3232      
    3333      <file_group id="1d" output_freq="1d"  output_level="10" enabled=".TRUE."> <!-- 1d files --> 
    34  
    35    <file_group id="1d_grid_T" name="auto" description="ocean T grid variables" > 
    36  
    37      <!-- example of "hand made" zoom  --> 
    38      <file id="blabla_1" name_suffix="_myzoom" > 
    39        <!-- group of variables sharing the same zoom. see zoom definition in domain_def.xml --> 
    40        <field_group id="blabla" domain_ref="myzoom" >     
    41          <field field_ref="toce" /> 
    42          <field field_ref="soce" /> 
    43        </field_group> 
    44      </file> 
    45  
    46      <!-- mooring: automatic definition of the file name suffix based on id="0n180wT"  --> 
    47      <!-- include a group of variables. see field_def.xml for mooring variables definition  --> 
    48      <file id="0n180wT" name_suffix="auto" > 
    49          <field_group group_ref="mooring"/>   
    50      </file> 
    51  
    52      <!-- Equatorial section: automatic definition of the file name suffix based on id="EqT" --> 
    53      <!-- Zoom over vertical axis. def of axis_ref in the axis_definition bellow --> 
    54      <file id="EqT" name_suffix="auto" > 
    55        <field_group id="EqT" domain_ref="EqT" > 
    56          <field field_ref="toce" name="votemper" axis_ref="deptht_zoom"  /> 
    57        </field_group> 
    58      </file> 
    59  
    60      <!-- global file with different operations on data   --> 
    61      <file id="blabla_2" > 
    62        <field field_ref="toce"   default_value="-10" />    <!-- redefine the missing value --> 
    63        <field field_ref="sst"    name="sstmooring1" domain_ref="0n180wT"  />   <!-- include a mooring --> 
    64        <field field_ref="sst"    name="sst_1d_ave"  />                         <!-- mean --> 
    65        <field field_ref="sst"    name="sst_1d_inst" operation="instant" />     <!-- instant value --> 
    66        <field field_ref="sst"    name="sst_1d_max"  operation="maximum" />     <!-- max --> 
    67        <field field_ref="suoce"  />   <!-- include a U-grid variable in the list --> 
    68      </file> 
    69  
    70    </file_group> 
     34    
     35   <!-- example of "hand made" zoom  --> 
     36   <file id="file2" name_suffix="_grid_T_myzoom" > 
     37     <!-- group of variables sharing the same zoom. see zoom definition in domain_def.xml --> 
     38     <field_group id="blabla" domain_ref="myzoom" >     
     39       <field field_ref="toce" /> 
     40       <field field_ref="soce" /> 
     41     </field_group> 
     42   </file> 
     43    
     44   <!-- mooring: automatic definition of the file name suffix based on id="0n180wT"  --> 
     45   <!-- include a group of variables. see field_def.xml for mooring variables definition  --> 
     46   <file id="0n180wT" > 
     47     <field_group group_ref="mooring"/>   
     48   </file> 
     49    
     50   <!-- Equatorial section: automatic definition of the file name suffix based on id="EqT" --> 
     51   <!-- Zoom over vertical axis. def of axis_ref in the axis_definition bellow --> 
     52   <file id="EqT" > 
     53     <field_group id="EqT" domain_ref="EqT" > 
     54       <field field_ref="toce" name="votemper" axis_ref="deptht_myzoom"  /> 
     55     </field_group> 
     56   </file> 
     57    
     58   <!-- global file with different operations on data   --> 
     59   <file id="file3" > 
     60     <field field_ref="toce"   default_value="-10" />    <!-- redefine the missing value --> 
     61     <field field_ref="sst"    name="sstmooring1" domain_ref="0n180wT"  />   <!-- include a mooring --> 
     62     <field field_ref="sst"    name="sst_1d_ave"  />                         <!-- mean --> 
     63     <field field_ref="sst"    name="sst_1d_inst" operation="instant" />     <!-- instant value --> 
     64     <field field_ref="sst"    name="sst_1d_max"  operation="maximum" />     <!-- max --> 
     65     <field field_ref="suoce"  />   <!-- include a U-grid variable in the list --> 
     66   </file> 
     67    
    7168      </file_group> 
    72  
    73    </file_definition> 
     69       
     70    </file_definition> 
    7471     
    7572    <!--  
     
    8279     <axis_group id="deptht" long_name="Vertical T levels" unit="m" positive="down" > 
    8380       <axis id="deptht" /> 
    84        <axis id="deptht_zoom" zoom_begin="1" zoom_end="10" /> 
     81       <axis id="deptht_myzoom" zoom_begin="1" zoom_end="10" /> 
    8582     </axis_group> 
    8683      <axis id="depthu" long_name="Vertical U levels" unit="m" positive="down" /> 
  • trunk/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/iodef_oldstyle.xml

    r3771 r3940  
    2121    --> 
    2222     
    23     <file_definition type="multiple_file" sync_freq="1d" min_digits="4"> 
     23    <file_definition type="multiple_file" name="@expname@_@freq@_@startdate@_@enddate@" sync_freq="1mo" min_digits="4"> 
    2424     
     25      <file_group id="1ts" output_freq="1ts"  output_level="10" enabled=".TRUE."/> <!-- 1 time step files --> 
     26 
    2527      <file_group id="1h" output_freq="1h"  output_level="10" enabled=".TRUE."/> <!-- 1h files --> 
    2628      <file_group id="2h" output_freq="2h"  output_level="10" enabled=".TRUE."/> <!-- 2h files --> 
     
    3335      <file_group id="5d" output_freq="5d"  output_level="10" enabled=".TRUE.">  <!-- 5d files -->    
    3436 
    35    <file id="5d_grid_T" name="auto" description="ocean T grid variables" > 
     37   <file id="file1" name_suffix="_grid_T" description="ocean T grid variables" > 
    3638     <field field_ref="toce"         name="votemper"  /> 
    3739     <field field_ref="soce"         name="vosaline"  /> 
     
    5254   </file> 
    5355    
    54    <file id="5d_grid_U" name="auto" description="ocean U grid variables" > 
     56   <file id="file2" name_suffix="_grid_U" description="ocean U grid variables" > 
    5557     <field field_ref="uoce"         name="vozocrtx"  /> 
    5658     <field field_ref="uoce_eiv"     name="vozoeivu"  /> 
     
    5860   </file> 
    5961    
    60    <file id="5d_grid_V" name="auto" description="ocean V grid variables" > 
     62   <file id="file3" name_suffix="_grid_V" description="ocean V grid variables" > 
    6163     <field field_ref="voce"         name="vomecrty"  /> 
    6264     <field field_ref="voce_eiv"     name="vomeeivv"  /> 
     
    6466   </file> 
    6567    
    66    <file id="5d_grid_W" name="auto" description="ocean W grid variables" > 
     68   <file id="file4" name_suffix="_grid_W" description="ocean V grid variables" > 
    6769     <field field_ref="woce"         name="vovecrtz" /> 
    6870     <field field_ref="avt"          name="votkeavt" /> 
     
    7173   </file> 
    7274    
    73    <file id="5d_icemod" name="auto" description="ice variables" > 
     75   <file id="file5" name_suffix="_icemod" description="ocean V grid variables" > 
    7476     <field field_ref="ice_pres"                     /> 
    7577     <field field_ref="snowthic_cea" name="isnowthi" /> 
  • trunk/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90

    r3907 r3940  
    3636   USE xios 
    3737# endif 
     38   USE ioipsl, ONLY :  ju2ymds    ! for calendar 
    3839 
    3940   IMPLICIT NONE 
     
    5253   PRIVATE iom_p1d, iom_p2d, iom_p3d 
    5354#if defined key_iomput 
    54    PRIVATE iom_set_domain_attr, iom_set_axis_attr, iom_set_field_attr, iom_set_file_attr, iom_set_grid_attr 
    55    PRIVATE set_grid, set_scalar, set_xmlatt, set_mooring 
     55   PRIVATE iom_set_domain_attr, iom_set_axis_attr, iom_set_field_attr, iom_set_file_attr, iom_get_file_attr, iom_set_grid_attr 
     56   PRIVATE set_grid, set_scalar, set_xmlatt, set_mooring, iom_update_file_name, iom_sdate 
    5657# endif 
    5758 
     
    130131 
    131132      ! end file definition 
    132        dtime%second=rdt 
    133        CALL xios_set_timestep(dtime) 
    134        CALL xios_close_context_definition() 
    135  
    136        CALL xios_update_calendar(0) 
     133      dtime%second = rdt 
     134      CALL xios_set_timestep(dtime) 
     135      CALL xios_close_context_definition() 
     136       
     137      CALL xios_update_calendar(0) 
    137138#endif 
    138  
     139       
    139140   END SUBROUTINE iom_init 
    140141 
     
    174175      LOGICAL         , INTENT(in   ), OPTIONAL ::   ldiof    ! Interp On the Fly, needed for AGRIF (default = .FALSE.) 
    175176 
    176       CHARACTER(LEN=100)    ::   clname    ! the name of the file based on cdname [[+clcpu]+clcpu] 
    177       CHARACTER(LEN=100)    ::   cltmpn    ! tempory name to store clname (in writting mode) 
     177      CHARACTER(LEN=256)    ::   clname    ! the name of the file based on cdname [[+clcpu]+clcpu] 
     178      CHARACTER(LEN=256)    ::   cltmpn    ! tempory name to store clname (in writting mode) 
    178179      CHARACTER(LEN=10)     ::   clsuffix  ! ".nc" or ".dimg" 
    179180      CHARACTER(LEN=15)     ::   clcpu     ! the cpu number (max jpmax_digits digits) 
    180       CHARACTER(LEN=100)    ::   clinfo    ! info character 
     181      CHARACTER(LEN=256)    ::   clinfo    ! info character 
    181182      LOGICAL               ::   llok      ! check the existence  
    182183      LOGICAL               ::   llwrt     ! local definition of ldwrt 
     
    561562      REAL(wp)                       ::   zscf, zofs  ! sacle_factor and add_offset 
    562563      INTEGER                        ::   itmp        ! temporary integer 
    563       CHARACTER(LEN=100)             ::   clinfo      ! info character 
    564       CHARACTER(LEN=100)             ::   clname      ! file name 
     564      CHARACTER(LEN=256)             ::   clinfo      ! info character 
     565      CHARACTER(LEN=256)             ::   clname      ! file name 
    565566      CHARACTER(LEN=1)               ::   clrankpv, cldmspc      !  
    566567      !--------------------------------------------------------------------- 
     
    10101011   !!---------------------------------------------------------------------- 
    10111012 
    1012  
    10131013#if defined key_iomput 
    10141014 
    1015    SUBROUTINE iom_set_domain_attr( cdname, ni_glo, nj_glo, ibegin, jbegin, ni, nj, zoom_ibegin, zoom_jbegin, zoom_ni, zoom_nj,   & 
     1015   SUBROUTINE iom_set_domain_attr( cdid, ni_glo, nj_glo, ibegin, jbegin, ni, nj, zoom_ibegin, zoom_jbegin, zoom_ni, zoom_nj,   & 
    10161016      &                                    data_dim, data_ibegin, data_ni, data_jbegin, data_nj, lonvalue, latvalue, mask ) 
    1017       CHARACTER(LEN=*)                 , INTENT(in) ::   cdname 
     1017      CHARACTER(LEN=*)                 , INTENT(in) ::   cdid 
    10181018      INTEGER                , OPTIONAL, INTENT(in) ::   ni_glo, nj_glo, ibegin, jbegin, ni, nj 
    10191019      INTEGER                , OPTIONAL, INTENT(in) ::   data_dim, data_ibegin, data_ni, data_jbegin, data_nj 
     
    10221022      LOGICAL, DIMENSION(:,:), OPTIONAL, INTENT(in) ::   mask 
    10231023 
    1024       IF ( xios_is_valid_domain     (cdname) ) THEN 
    1025          CALL xios_set_domain_attr     ( cdname, ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, jbegin=jbegin, ni=ni, nj=nj,   & 
    1026             &    data_dim=data_dim, data_ibegin=data_ibegin, data_ni=data_ni, data_jbegin=data_jbegin, data_nj=data_nj   ,   & 
    1027             &    zoom_ibegin=zoom_ibegin, zoom_jbegin=zoom_jbegin, zoom_ni=zoom_ni, zoom_nj=zoom_nj,                         & 
     1024      IF ( xios_is_valid_domain     (cdid) ) THEN 
     1025         CALL xios_set_domain_attr     ( cdid, ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, jbegin=jbegin, ni=ni, nj=nj,   & 
     1026            &    data_dim=data_dim, data_ibegin=data_ibegin, data_ni=data_ni, data_jbegin=data_jbegin, data_nj=data_nj ,   & 
     1027            &    zoom_ibegin=zoom_ibegin, zoom_jbegin=zoom_jbegin, zoom_ni=zoom_ni, zoom_nj=zoom_nj,                       & 
    10281028            &    lonvalue=lonvalue, latvalue=latvalue,mask=mask ) 
    10291029      ENDIF 
    10301030 
    1031       IF ( xios_is_valid_domaingroup(cdname) ) THEN 
    1032          CALL xios_set_domaingroup_attr( cdname, ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, jbegin=jbegin, ni=ni, nj=nj,   & 
    1033             &    data_dim=data_dim, data_ibegin=data_ibegin, data_ni=data_ni, data_jbegin=data_jbegin, data_nj=data_nj   ,   & 
    1034             &    zoom_ibegin=zoom_ibegin, zoom_jbegin=zoom_jbegin, zoom_ni=zoom_ni, zoom_nj=zoom_nj,                         & 
     1031      IF ( xios_is_valid_domaingroup(cdid) ) THEN 
     1032         CALL xios_set_domaingroup_attr( cdid, ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, jbegin=jbegin, ni=ni, nj=nj,   & 
     1033            &    data_dim=data_dim, data_ibegin=data_ibegin, data_ni=data_ni, data_jbegin=data_jbegin, data_nj=data_nj ,   & 
     1034            &    zoom_ibegin=zoom_ibegin, zoom_jbegin=zoom_jbegin, zoom_ni=zoom_ni, zoom_nj=zoom_nj,                       & 
    10351035            &    lonvalue=lonvalue, latvalue=latvalue,mask=mask ) 
    10361036      ENDIF 
     1037      CALL xios_solve_inheritance() 
    10371038 
    10381039   END SUBROUTINE iom_set_domain_attr 
    10391040 
    10401041 
    1041    SUBROUTINE iom_set_axis_attr( cdname, paxis ) 
    1042       CHARACTER(LEN=*)      , INTENT(in) ::   cdname 
     1042   SUBROUTINE iom_set_axis_attr( cdid, paxis ) 
     1043      CHARACTER(LEN=*)      , INTENT(in) ::   cdid 
    10431044      REAL(wp), DIMENSION(:), INTENT(in) ::   paxis 
    1044       IF ( xios_is_valid_axis     (cdname) )   CALL xios_set_axis_attr     ( cdname, size=size(paxis),value=paxis ) 
    1045       IF ( xios_is_valid_axisgroup(cdname) )   CALL xios_set_axisgroup_attr( cdname, size=size(paxis),value=paxis ) 
     1045      IF ( xios_is_valid_axis     (cdid) )   CALL xios_set_axis_attr     ( cdid, size=size(paxis),value=paxis ) 
     1046      IF ( xios_is_valid_axisgroup(cdid) )   CALL xios_set_axisgroup_attr( cdid, size=size(paxis),value=paxis ) 
     1047      CALL xios_solve_inheritance() 
    10461048   END SUBROUTINE iom_set_axis_attr 
    10471049 
    10481050 
    1049    SUBROUTINE iom_set_field_attr( cdname, freq_op) 
    1050       CHARACTER(LEN=*)          , INTENT(in) ::   cdname 
     1051   SUBROUTINE iom_set_field_attr( cdid, freq_op, freq_offset ) 
     1052      CHARACTER(LEN=*)          , INTENT(in) ::   cdid 
    10511053      CHARACTER(LEN=*),OPTIONAL , INTENT(in) ::   freq_op 
    1052       IF ( xios_is_valid_field     (cdname) )   CALL xios_set_field_attr     ( cdname, freq_op=freq_op ) 
    1053       IF ( xios_is_valid_fieldgroup(cdname) )   CALL xios_set_fieldgroup_attr( cdname, freq_op=freq_op ) 
     1054      CHARACTER(LEN=*),OPTIONAL , INTENT(in) ::   freq_offset 
     1055      IF ( xios_is_valid_field     (cdid) )   CALL xios_set_field_attr     ( cdid, freq_op=freq_op, freq_offset=freq_offset ) 
     1056      IF ( xios_is_valid_fieldgroup(cdid) )   CALL xios_set_fieldgroup_attr( cdid, freq_op=freq_op, freq_offset=freq_offset ) 
     1057      CALL xios_solve_inheritance() 
    10541058   END SUBROUTINE iom_set_field_attr 
    10551059 
    10561060 
    1057    SUBROUTINE iom_set_file_attr( cdname, name, name_suffix ) 
    1058       CHARACTER(LEN=*)          , INTENT(in) ::   cdname 
     1061   SUBROUTINE iom_set_file_attr( cdid, name, name_suffix ) 
     1062      CHARACTER(LEN=*)          , INTENT(in) ::   cdid 
    10591063      CHARACTER(LEN=*),OPTIONAL , INTENT(in) ::   name, name_suffix 
    1060       IF ( xios_is_valid_file     (cdname) )   CALL xios_set_file_attr     ( cdname, name=name, name_suffix=name_suffix ) 
    1061       IF ( xios_is_valid_filegroup(cdname) )   CALL xios_set_filegroup_attr( cdname, name=name, name_suffix=name_suffix ) 
     1064      IF ( xios_is_valid_file     (cdid) )   CALL xios_set_file_attr     ( cdid, name=name, name_suffix=name_suffix ) 
     1065      IF ( xios_is_valid_filegroup(cdid) )   CALL xios_set_filegroup_attr( cdid, name=name, name_suffix=name_suffix ) 
     1066      CALL xios_solve_inheritance() 
    10621067   END SUBROUTINE iom_set_file_attr 
    10631068 
    10641069 
    1065    SUBROUTINE iom_set_grid_attr( cdname, mask ) 
    1066       CHARACTER(LEN=*)                   , INTENT(in) ::   cdname 
     1070   SUBROUTINE iom_get_file_attr( cdid, name, name_suffix, output_freq ) 
     1071      CHARACTER(LEN=*)          , INTENT(in ) ::   cdid 
     1072      CHARACTER(LEN=*),OPTIONAL , INTENT(out) ::   name, name_suffix, output_freq 
     1073      LOGICAL                                 ::   llexist1,llexist2,llexist3 
     1074      !--------------------------------------------------------------------- 
     1075      IF( PRESENT( name        ) )   name = ''          ! default values 
     1076      IF( PRESENT( name_suffix ) )   name_suffix = '' 
     1077      IF( PRESENT( output_freq ) )   output_freq = '' 
     1078      IF ( xios_is_valid_file     (cdid) ) THEN 
     1079         CALL xios_solve_inheritance() 
     1080         CALL xios_is_defined_file_attr     ( cdid, name = llexist1, name_suffix = llexist2, output_freq = llexist3) 
     1081         IF(llexist1)   CALL xios_get_file_attr     ( cdid, name = name ) 
     1082         IF(llexist2)   CALL xios_get_file_attr     ( cdid, name_suffix = name_suffix ) 
     1083         IF(llexist3)   CALL xios_get_file_attr     ( cdid, output_freq = output_freq ) 
     1084      ENDIF 
     1085      IF ( xios_is_valid_filegroup(cdid) ) THEN 
     1086         CALL xios_solve_inheritance() 
     1087         CALL xios_is_defined_filegroup_attr( cdid, name = llexist1, name_suffix = llexist2, output_freq = llexist3) 
     1088         IF(llexist1)   CALL xios_get_filegroup_attr( cdid, name = name ) 
     1089         IF(llexist2)   CALL xios_get_filegroup_attr( cdid, name_suffix = name_suffix ) 
     1090         IF(llexist3)   CALL xios_get_filegroup_attr( cdid, output_freq = output_freq ) 
     1091      ENDIF 
     1092   END SUBROUTINE iom_get_file_attr 
     1093 
     1094 
     1095   SUBROUTINE iom_set_grid_attr( cdid, mask ) 
     1096      CHARACTER(LEN=*)                   , INTENT(in) ::   cdid 
    10671097      LOGICAL, DIMENSION(:,:,:), OPTIONAL, INTENT(in) ::   mask 
    1068       IF ( xios_is_valid_grid     (cdname) )   CALL xios_set_grid_attr     ( cdname, mask=mask ) 
    1069       IF ( xios_is_valid_gridgroup(cdname) )   CALL xios_set_gridgroup_attr( cdname, mask=mask ) 
     1098      IF ( xios_is_valid_grid     (cdid) )   CALL xios_set_grid_attr     ( cdid, mask=mask ) 
     1099      IF ( xios_is_valid_gridgroup(cdid) )   CALL xios_set_gridgroup_attr( cdid, mask=mask ) 
     1100      CALL xios_solve_inheritance() 
    10701101   END SUBROUTINE iom_set_grid_attr 
    10711102 
     
    10731104   SUBROUTINE set_grid( cdgrd, plon, plat ) 
    10741105      !!---------------------------------------------------------------------- 
    1075       !!                     ***  ROUTINE   *** 
     1106      !!                     ***  ROUTINE set_grid  *** 
    10761107      !! 
    10771108      !! ** Purpose :   define horizontal grids 
     
    11101141   SUBROUTINE set_scalar 
    11111142      !!---------------------------------------------------------------------- 
    1112       !!                     ***  ROUTINE   *** 
     1143      !!                     ***  ROUTINE set_scalar  *** 
    11131144      !! 
    11141145      !! ** Purpose :   define fake grids for scalar point 
     
    11261157   SUBROUTINE set_xmlatt 
    11271158      !!---------------------------------------------------------------------- 
    1128       !!                     ***  ROUTINE   *** 
     1159      !!                     ***  ROUTINE set_xmlatt  *** 
    11291160      !! 
    11301161      !! ** Purpose :   automatic definitions of some of the xml attributs... 
    11311162      !! 
    11321163      !!---------------------------------------------------------------------- 
    1133       CHARACTER(len=6),DIMENSION( 8) ::   clsuff                   ! suffix name 
    11341164      CHARACTER(len=1),DIMENSION( 3) ::   clgrd                    ! suffix name 
    1135       CHARACTER(len=50)              ::   clname                   ! file name 
     1165      CHARACTER(len=256)             ::   clsuff                   ! suffix name 
    11361166      CHARACTER(len=1)               ::   cl1                      ! 1 character 
    11371167      CHARACTER(len=2)               ::   cl2                      ! 1 character 
    1138       CHARACTER(len=255)             ::   tfo 
    1139       INTEGER                        ::   idt                      ! time-step in seconds 
    1140       INTEGER                        ::   iddss, ihhss             ! number of seconds in 1 day, 1 hour and 1 year 
    1141       INTEGER                        ::   iyymo                    ! number of months in 1 year 
    1142       INTEGER                        ::   jg, jh, jd, jm, jy       ! loop counters 
     1168      INTEGER                        ::   ji, jg                   ! loop counters 
    11431169      INTEGER                        ::   ix, iy                   ! i-,j- index 
    11441170      REAL(wp)        ,DIMENSION(11) ::   zlontao                  ! longitudes of tao    moorings 
     
    11501176      !!---------------------------------------------------------------------- 
    11511177      !  
    1152       idt   = NINT( rdttra(1)     ) 
    1153       iddss = NINT( rday          )                                         ! number of seconds in 1 day 
    1154       ihhss = NINT( rmmss * rhhmm )                                         ! number of seconds in 1 hour 
    1155       iyymo = NINT( raamo         )                                         ! number of months in 1 year 
    1156  
    11571178      ! frequency of the call of iom_put (attribut: freq_op) 
    1158       tfo = TRIM(i2str(idt))//'s' 
    1159       CALL iom_set_field_attr('field_definition', freq_op=tfo) 
    1160       CALL iom_set_field_attr('SBC'   , freq_op=TRIM(i2str(idt* nn_fsbc ))//'s') 
    1161       CALL iom_set_field_attr('ptrc_T', freq_op=TRIM(i2str(idt* nn_dttrc))//'s') 
    1162       CALL iom_set_field_attr('diad_T', freq_op=TRIM(i2str(idt* nn_dttrc))//'s') 
     1179      WRITE(cl1,'(i1)')        1   ;   CALL iom_set_field_attr('field_definition', freq_op = cl1//'ts', freq_offset='0ts') 
     1180      WRITE(cl1,'(i1)')  nn_fsbc   ;   CALL iom_set_field_attr('SBC'             , freq_op = cl1//'ts', freq_offset='0ts') 
     1181      WRITE(cl1,'(i1)') nn_dttrc   ;   CALL iom_set_field_attr('ptrc_T'          , freq_op = cl1//'ts', freq_offset='0ts') 
     1182      WRITE(cl1,'(i1)') nn_dttrc   ;   CALL iom_set_field_attr('diad_T'          , freq_op = cl1//'ts', freq_offset='0ts') 
    11631183        
    11641184      ! output file names (attribut: name) 
    1165       clsuff(:) = (/ 'grid_T', 'grid_U', 'grid_V', 'grid_W', 'icemod', 'ptrc_T', 'diad_T', 'scalar' /)       
    1166       DO jg = 1, SIZE(clsuff)                                                                  ! grid type 
    1167          DO jh = 1, 24                                                                         ! 1-24 hours 
    1168             WRITE(cl2,'(i2)') jh  
    1169             CALL dia_nam( clname, jh * ihhss, clsuff(jg), ldfsec = .TRUE. ) 
    1170             CALL iom_set_file_attr(TRIM(ADJUSTL(cl2))//'h_'//clsuff(jg), name=TRIM(clname)) 
    1171          END DO 
    1172          DO jd = 1, 30                                                                         ! 1-30 days 
    1173             WRITE(cl1,'(i1)') jd  
    1174             CALL dia_nam( clname, jd * iddss, clsuff(jg), ldfsec = .TRUE. ) 
    1175             CALL iom_set_file_attr(cl1//'d_'//clsuff(jg), name=TRIM(clname)) 
    1176          END DO 
    1177          DO jm = 1, 11                                                                         ! 1-11 months 
    1178             WRITE(cl1,'(i1)') jm  
    1179             CALL dia_nam( clname, -jm, clsuff(jg) ) 
    1180             CALL iom_set_file_attr(cl1//'m_'//clsuff(jg), name=TRIM(clname)) 
    1181          END DO 
    1182          DO jy = 1, 50                                                                         ! 1-50 years   
    1183             WRITE(cl2,'(i2)') jy  
    1184             CALL dia_nam( clname, -jy * iyymo, clsuff(jg) ) 
    1185             CALL iom_set_file_attr(TRIM(ADJUSTL(cl2))//'y_'//clsuff(jg), name=TRIM(clname)) 
    1186          END DO 
     1185      DO ji = 1, 9 
     1186         WRITE(cl1,'(i1)') ji  
     1187         CALL iom_update_file_name('file'//cl1) 
     1188      END DO 
     1189      DO ji = 1, 99 
     1190         WRITE(cl2,'(i2.2)') ji  
     1191         CALL iom_update_file_name('file'//cl2) 
    11871192      END DO 
    11881193 
     
    11931198         ! Equatorial section (attributs: jbegin, ni, name_suffix) 
    11941199         CALL dom_ngb( 0., 0., ix, iy, cl1 ) 
    1195          CALL iom_set_domain_attr('Eq'//cl1, zoom_jbegin=iy, zoom_ni=jpiglo) 
    1196          CALL iom_set_file_attr('Eq'//cl1, name_suffix= '_Eq') 
     1200         CALL iom_set_domain_attr ('Eq'//cl1, zoom_jbegin=iy, zoom_ni=jpiglo) 
     1201         CALL iom_get_file_attr   ('Eq'//cl1, name_suffix = clsuff             ) 
     1202         CALL iom_set_file_attr   ('Eq'//cl1, name_suffix = TRIM(clsuff)//'_Eq') 
     1203         CALL iom_update_file_name('Eq'//cl1) 
    11971204      END DO 
    11981205      ! TAO moorings (attributs: ibegin, jbegin, name_suffix) 
     
    12141221   SUBROUTINE set_mooring( plon, plat) 
    12151222      !!---------------------------------------------------------------------- 
    1216       !!                     ***  ROUTINE   *** 
     1223      !!                     ***  ROUTINE set_mooring  *** 
    12171224      !! 
    12181225      !! ** Purpose :   automatic definitions of moorings xml attributs... 
     
    12231230!!$      CHARACTER(len=1),DIMENSION(4) ::   clgrd = (/ 'T', 'U', 'V', 'W' /)   ! suffix name 
    12241231      CHARACTER(len=1),DIMENSION(1) ::   clgrd = (/ 'T' /)        ! suffix name 
    1225       CHARACTER(len=50)             ::   clname                   ! file name 
     1232      CHARACTER(len=256)            ::   clname                   ! file name 
     1233      CHARACTER(len=256)            ::   clsuff                   ! suffix name 
    12261234      CHARACTER(len=1)              ::   cl1                      ! 1 character 
    12271235      CHARACTER(len=6)              ::   clon,clat                ! name of longitude, latitude 
     
    12691277               ENDIF 
    12701278               clname = TRIM(ADJUSTL(clat))//TRIM(ADJUSTL(clon)) 
    1271                CALL iom_set_domain_attr(TRIM(clname)//cl1, zoom_ibegin= ix, zoom_jbegin= iy) 
    1272                CALL iom_set_file_attr(TRIM(clname)//cl1, name_suffix= '_'//TRIM(clname)) 
     1279               CALL iom_set_domain_attr (TRIM(clname)//cl1, zoom_ibegin= ix, zoom_jbegin= iy) 
     1280               CALL iom_get_file_attr   (TRIM(clname)//cl1, name_suffix = clsuff                         ) 
     1281               CALL iom_set_file_attr   (TRIM(clname)//cl1, name_suffix = TRIM(clsuff)//'_'//TRIM(clname)) 
     1282               CALL iom_update_file_name(TRIM(clname)//cl1) 
    12731283            END DO 
    12741284         END DO 
     
    12771287   END SUBROUTINE set_mooring 
    12781288 
     1289    
     1290   SUBROUTINE iom_update_file_name( cdid ) 
     1291      !!---------------------------------------------------------------------- 
     1292      !!                     ***  ROUTINE iom_update_file_name  *** 
     1293      !! 
     1294      !! ** Purpose :    
     1295      !! 
     1296      !!---------------------------------------------------------------------- 
     1297      CHARACTER(LEN=*)          , INTENT(in) ::   cdid 
     1298      ! 
     1299      CHARACTER(LEN=256) ::   clname 
     1300      CHARACTER(LEN=20)  ::   clfreq 
     1301      CHARACTER(LEN=20)  ::   cldate 
     1302      INTEGER            ::   idx 
     1303      INTEGER            ::   jn 
     1304      INTEGER            ::   itrlen 
     1305      INTEGER            ::   iyear, imonth, iday, isec 
     1306      REAL(wp)           ::   zsec 
     1307      LOGICAL            ::   llexist 
     1308      !!---------------------------------------------------------------------- 
     1309 
     1310      DO jn = 1,2 
     1311 
     1312         IF( jn == 1 )   CALL iom_get_file_attr( cdid, name        = clname, output_freq = clfreq ) 
     1313         IF( jn == 2 )   CALL iom_get_file_attr( cdid, name_suffix = clname ) 
     1314 
     1315         IF ( TRIM(clname) /= '' ) THEN  
     1316 
     1317            idx = INDEX(clname,'@expname@') + INDEX(clname,'@EXPNAME@') 
     1318            DO WHILE ( idx /= 0 )  
     1319               clname = clname(1:idx-1)//TRIM(cexper)//clname(idx+9:LEN_TRIM(clname)) 
     1320               idx = INDEX(clname,'@expname@') + INDEX(clname,'@EXPNAME@') 
     1321            END DO 
     1322 
     1323            idx = INDEX(clname,'@freq@') + INDEX(clname,'@FREQ@') 
     1324            DO WHILE ( idx /= 0 )  
     1325               IF ( TRIM(clfreq) /= '' ) THEN 
     1326                  itrlen = LEN_TRIM(clfreq) 
     1327                  IF ( clfreq(itrlen-1:itrlen) == 'mo' ) clfreq = clfreq(1:itrlen-1) 
     1328                  clname = clname(1:idx-1)//TRIM(clfreq)//clname(idx+6:LEN_TRIM(clname)) 
     1329               ELSE 
     1330                  CALL ctl_stop('error in the name of file id '//TRIM(cdid),   & 
     1331                     & ' attribute output_freq is undefined -> cannot replace @freq@ in '//TRIM(clname) ) 
     1332               ENDIF 
     1333               idx = INDEX(clname,'@freq@') + INDEX(clname,'@FREQ@') 
     1334            END DO 
     1335 
     1336            idx = INDEX(clname,'@startdate@') + INDEX(clname,'@STARTDATE@') 
     1337            DO WHILE ( idx /= 0 )  
     1338               cldate = iom_sdate( fjulday - rdttra(1) / rday ) 
     1339               clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+11:LEN_TRIM(clname)) 
     1340               idx = INDEX(clname,'@startdate@') + INDEX(clname,'@STARTDATE@') 
     1341            END DO 
     1342 
     1343            idx = INDEX(clname,'@startdatefull@') + INDEX(clname,'@STARTDATEFULL@') 
     1344            DO WHILE ( idx /= 0 )  
     1345               cldate = iom_sdate( fjulday - rdttra(1) / rday, ldfull = .TRUE. ) 
     1346               clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+15:LEN_TRIM(clname)) 
     1347               idx = INDEX(clname,'@startdatefull@') + INDEX(clname,'@STARTDATEFULL@') 
     1348            END DO 
     1349 
     1350            idx = INDEX(clname,'@enddate@') + INDEX(clname,'@ENDDATE@') 
     1351            DO WHILE ( idx /= 0 )  
     1352               cldate = iom_sdate( fjulday + rdttra(1) / rday * REAL( nitend - nit000, wp ), ld24 = .TRUE. ) 
     1353               clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+9:LEN_TRIM(clname)) 
     1354               idx = INDEX(clname,'@enddate@') + INDEX(clname,'@ENDDATE@') 
     1355            END DO 
     1356 
     1357            idx = INDEX(clname,'@enddatefull@') + INDEX(clname,'@ENDDATEFULL@') 
     1358            DO WHILE ( idx /= 0 )  
     1359               cldate = iom_sdate( fjulday + rdttra(1) / rday * REAL( nitend - nit000, wp ), ld24 = .TRUE., ldfull = .TRUE. ) 
     1360               clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+13:LEN_TRIM(clname)) 
     1361               idx = INDEX(clname,'@enddatefull@') + INDEX(clname,'@ENDDATEFULL@') 
     1362            END DO 
     1363 
     1364            IF( jn == 1 )   CALL iom_set_file_attr( cdid, name        = clname ) 
     1365            IF( jn == 2 )   CALL iom_set_file_attr( cdid, name_suffix = clname ) 
     1366 
     1367         ENDIF 
     1368 
     1369      END DO 
     1370 
     1371   END SUBROUTINE iom_update_file_name 
     1372 
     1373 
     1374   FUNCTION iom_sdate( pjday, ld24, ldfull ) 
     1375      !!---------------------------------------------------------------------- 
     1376      !!                     ***  ROUTINE iom_sdate  *** 
     1377      !! 
     1378      !! ** Purpose :   send back the date corresponding to the given julian day 
     1379      !! 
     1380      !!---------------------------------------------------------------------- 
     1381      REAL(wp), INTENT(in   )           ::   pjday         ! julian day 
     1382      LOGICAL , INTENT(in   ), OPTIONAL ::   ld24          ! true to force 24:00 instead of 00:00 
     1383      LOGICAL , INTENT(in   ), OPTIONAL ::   ldfull        ! true to get the compleate date: yyyymmdd_hh:mm:ss 
     1384      ! 
     1385      CHARACTER(LEN=20) ::   iom_sdate 
     1386      CHARACTER(LEN=50) ::   clfmt                         !  format used to write the date  
     1387      INTEGER           ::   iyear, imonth, iday, ihour, iminute, isec 
     1388      REAL(wp)          ::   zsec 
     1389      LOGICAL           ::   ll24, llfull 
     1390      ! 
     1391      IF( PRESENT(ld24) ) THEN   ;   ll24 = ld24 
     1392      ELSE                       ;   ll24 = .FALSE. 
     1393      ENDIF 
     1394 
     1395      IF( PRESENT(ldfull) ) THEN   ;   llfull = ldfull 
     1396      ELSE                         ;   llfull = .FALSE. 
     1397      ENDIF 
     1398 
     1399      CALL ju2ymds( pjday, iyear, imonth, iday, zsec ) 
     1400      isec = NINT(zsec) 
     1401 
     1402      IF ( ll24 .AND. isec == 0 ) THEN   ! 00:00 of the next day -> move to 24:00 of the current day 
     1403         CALL ju2ymds( pjday - 1., iyear, imonth, iday, zsec ) 
     1404         isec = 86400 
     1405      ENDIF 
     1406 
     1407      IF( iyear < 10000 ) THEN   ;   clfmt = "i4.4,2i2.2"                ! format used to write the date  
     1408      ELSE                       ;   WRITE(clfmt, "('i',i1,',2i2.2')") INT(LOG10(REAL(iyear,wp))) + 1 
     1409      ENDIF 
     1410       
     1411      IF( llfull ) THEN  
     1412         clfmt = TRIM(clfmt)//",'_',i2.2,':',i2.2,':',i2.2" 
     1413         ihour   = isec / 3600 
     1414         isec    = MOD(isec, 3600) 
     1415         iminute = isec / 60 
     1416         isec    = MOD(isec, 60) 
     1417         WRITE(iom_sdate, '('//TRIM(clfmt)//')') iyear, imonth, iday, ihour, iminute, isec    ! date of the end of run 
     1418      ELSE 
     1419         WRITE(iom_sdate, '('//TRIM(clfmt)//')') iyear, imonth, iday                          ! date of the end of run 
     1420      ENDIF 
     1421 
     1422   END FUNCTION iom_sdate 
     1423 
    12791424#else 
    12801425 
     
    12851430 
    12861431#endif 
    1287  
    1288    FUNCTION i2str(int) 
    1289    IMPLICIT NONE 
    1290       INTEGER, INTENT(IN) :: int 
    1291       CHARACTER(LEN=255) :: i2str 
    1292  
    1293       WRITE(i2str,*) int 
    1294        
    1295    END FUNCTION i2str   
    12961432    
    12971433   !!====================================================================== 
Note: See TracChangeset for help on using the changeset viewer.