Changeset 3772


Ignore:
Timestamp:
May 21, 2025, 6:37:40 PM (3 weeks ago)
Author:
afalco
Message:

Pluto: allow to write controle in XIOS output.
AF

Location:
trunk/LMDZ.PLUTO
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.PLUTO/deftank/xios/context_pcm_physics.xml

    r3688 r3772  
    1010
    1111    </domain_definition>
    12 
    13     <domain_definition>
    14         <domain id="dom_64_48" type="rectilinear" ni_glo="64" nj_glo="48"   >
    15           <generate_rectilinear_domain/>
    16           <interpolate_domain order="1"/>
    17         </domain>
    18 
    19         <domain id="dom_96_95" type="rectilinear"  ni_glo="96" nj_glo="95"  >
    20           <generate_rectilinear_domain/>
    21           <interpolate_domain order="1"/>
    22         </domain>
    23 
    24         <domain id="dom_144_142" type="rectilinear" ni_glo="144" nj_glo="142"   >
    25           <generate_rectilinear_domain/>
    26           <interpolate_domain order="1"/>
    27         </domain>
    28 
    29         <domain id="dom_512_360" type="rectilinear" ni_glo="512" nj_glo="360"   >
    30           <generate_rectilinear_domain/>
    31           <interpolate_domain order="1"/>
    32         </domain>
    33 
    34         <domain id="dom_720_360" type="rectilinear" ni_glo="720" nj_glo="360" >
    35           <generate_rectilinear_domain/>
    36           <interpolate_domain order="1"/>
    37         </domain>
    38 
    39         <domain id="dom_128_96" type="rectilinear" ni_glo="128" nj_glo="96" >
    40           <generate_rectilinear_domain/>
    41           <interpolate_domain order="1"/>
    42         </domain>
    43 
    44         <domain id="dom_256_192" type="rectilinear" ni_glo="256" nj_glo="192" >
    45           <generate_rectilinear_domain/>
    46           <interpolate_domain order="1"/>
    47         </domain>
    48 
    49         <domain id="dom_out" domain_ref="dom_128_96"/>
    50     </domain_definition>
    51     <!-- <domain_definition src="./domain_def.xml"/> -->
    5212
    5313    <!-- Definition of vertical axes
     
    9959            <axis axis_ref="altitude" />
    10060        </grid>
     61        <grid id="grid_soil">
     62            <domain domain_ref="dom_glo" />
     63            <axis axis_ref="soil_layers" />
     64        </grid>
    10165        <grid id="grid_2D">
    10266            <domain domain_ref="dom_glo" />
     
    11276          <axis axis_ref="VI_Wavenumber"/>
    11377        </grid>
    114         <!-- grid for interpolated lon-lat outputs -->
    11578        <!-- to output scalars -->
    11679        <grid id="scalarpoint" >
    11780            <scalar scalar_ref="scalar" />
    11881        </grid>
    119         <grid id="altitude_grid" >
    120             <axis axis_ref="altitude" />
     82        <grid id="controle_grid" >
     83          <axis axis_ref="controle_axe"/>
    12184        </grid>
     85
     86        <!-- grid for interpolated lon-lat outputs -->
    12287        <!-- output grids -->
    12388        <grid id="grid_3D_out">
     
    12792        <grid id="grid_2D_out">
    12893            <domain domain_ref="dom_out" />
     94        </grid>
     95        <grid id="grid_soil_out">
     96            <domain domain_ref="dom_out" />
     97            <axis axis_ref="soil_layers" />
    12998        </grid>
    13099        <!--added for diagspecIR-->
     
    146115    </grid_definition>
    147116
     117    <!-- various predefined grids to output onto -->
     118    <domain_definition>
     119        <domain id="dom_64_48" type="rectilinear" ni_glo="64" nj_glo="48"   >
     120          <generate_rectilinear_domain/>
     121          <interpolate_domain order="1"/>
     122        </domain>
     123
     124        <domain id="dom_96_95" type="rectilinear"  ni_glo="96" nj_glo="95"  >
     125          <generate_rectilinear_domain/>
     126          <interpolate_domain order="1"/>
     127        </domain>
     128
     129        <domain id="dom_144_142" type="rectilinear" ni_glo="144" nj_glo="142"   >
     130          <generate_rectilinear_domain/>
     131          <interpolate_domain order="1"/>
     132        </domain>
     133
     134        <domain id="dom_512_360" type="rectilinear" ni_glo="512" nj_glo="360"   >
     135          <generate_rectilinear_domain/>
     136          <interpolate_domain order="1"/>
     137        </domain>
     138
     139        <domain id="dom_720_360" type="rectilinear" ni_glo="720" nj_glo="360" >
     140          <generate_rectilinear_domain/>
     141          <interpolate_domain order="1"/>
     142        </domain>
     143
     144        <domain id="dom_128_96" type="rectilinear" ni_glo="128" nj_glo="96" >
     145          <generate_rectilinear_domain/>
     146          <interpolate_domain order="1"/>
     147        </domain>
     148
     149        <domain id="dom_256_192" type="rectilinear" ni_glo="256" nj_glo="192" >
     150          <generate_rectilinear_domain/>
     151          <interpolate_domain order="1"/>
     152        </domain>
     153
     154        <!-- set dom_out to any of the reference grid above,
     155              or dom_glo to output on native grid -->
     156        <domain id="dom_out" domain_ref="dom_128_96"/>
     157
     158    </domain_definition>
     159
     160
    148161    <!-- Definition of model variables -->
    149162    <field_definition src="./field_def_physics.xml" />
  • trunk/LMDZ.PLUTO/deftank/xios/field_def_physics.xml

    r3678 r3772  
    5858                     unit="cm-1"/>
    5959       </field_group>
     60
    6061        <!-- 2D variables -->
    6162        <field_group id="fields_2D" grid_ref="grid_2D">
     
    8081                   unit="K" />
    8182
     83            <field id="capcal"
     84                   long_name="Surface Heat Capacity"
     85                   unit="W.s m-2 K-1" />
     86            <field id="fluxrad"
     87                   long_name="fluxrad"
     88                   unit="W m-2" />
     89
    8290            <!-- Tracers -->
    8391            <field id="n2_surf"
     
    218226                   long_name="Atmospheric temperature"
    219227                   unit="K" />
    220             <field id="tsoil"
    221                    long_name="Soil Temperature"
    222                    unit="K" />
    223 
    224228            <field id="teta"
    225229                   long_name="Potential temperature"
     
    300304                   long_name="tendancy T adj"
    301305                   unit="K s-1" />
     306
    302307            <!--Tracers-->
    303308            <field id="n2"
     
    341346                   unit="K s-1" />
    342347
    343 
    344348            <field id="zrho_ch4"
    345349                   long_name="zrho_ch4"
     
    394398                   long_name='haze_reff'
    395399                   unit='m' />
    396         </field_group>
     400
     401            <field id="dtauv_01"
     402                   long_name="Layer optical thickness attenuation in VI band"
     403                   unit="" />
     404            <field id="dtauv_23"
     405                   long_name="Layer optical thickness attenuation in VI band"
     406                   unit="" />
     407            <field id="dtaui_01"
     408                   long_name="Layer optical thickness attenuation in IR band"
     409                   unit="" />
     410            <field id="dtaui_17"
     411                   long_name="Layer optical thickness attenuation in IR band"
     412                   unit="" />
     413
     414        </field_group>
     415
     416
     417        <field_group id="fields_soil" grid_ref="grid_soil">
     418
     419            <field id="tsoil"
     420                   long_name="Soil Temperature"
     421                   unit="K" />
     422            <field id="therm_inertia"
     423                   long_name="Soil Thermal Inertia"
     424                   unit="S.I." />
     425
     426        </field_group>
     427
    397428
    398429        <!--Spectral IR 3D variables-->
  • trunk/LMDZ.PLUTO/deftank/xios/file_def_physics.xml

    r3694 r3772  
    1515        <file id="histins"
    1616              name="Xhistins"
    17               output_freq="400ts"
    18               sync_freq="1200ts"
     17              output_freq="20ts"
     18              sync_freq="20ts"
    1919              type="one_file"
    2020              time_units="days"
     
    2929            </field_group>
    3030
    31             <field_group  operation="once"
    32                           grid_ref="altitude_grid"
    33                           freq_op="1ts">
    34                 <field field_ref="aps"/>
    35                 <field field_ref="bps"/>
    36             </field_group>
    3731            <!--<field_group domain_ref="dom_glo"> -->
    3832            <!--<field_group grid_ref="grid_2D_out">-->
    3933            <!-- toggle domain_ref to output on native or lon-lat domain -->
     34            <field_group grid_ref="controle_grid" operation="once" enabled="true" freq_op="1ts">
     35                <field field_ref="controle" />
     36            </field_group>
    4037
    4138              <!-- VARS 2D -->
     
    4441                           freq_op="1ts">
    4542                  <field field_ref="area" operation="once" />
    46                   <field field_ref="phisfi" operation="once" />
    4743                  <field field_ref="ps" enabled="true" />
     44                  <field field_ref="tsurf" enabled="true" />
     45                  <field field_ref="ALB" enabled="true" />
     46                  <field field_ref="emis" enabled="true" />
    4847                  <field field_ref="ISR" enabled="true" />
    4948                  <field field_ref="OLR" enabled="true" />
    5049                  <field field_ref="ASR" enabled="true" />
    51                   <field field_ref="emis" enabled="true" />
    52                   <field field_ref="tsurf" enabled="true" />
    5350                  <field field_ref="n2_surf" enabled="true" />
    5451                  <field field_ref="ch4_ice_surf" enabled="true" />
    5552                  <field field_ref="co_ice_surf" enabled="true" />
    56                   <field field_ref="haze_col" enabled="true" />
    57 
    58                   <!--
    59                   <field field_ref="n2_iceflux" enabled="true" />
    60                   <field field_ref="ch4_iceflux" enabled="true" />
    61                   <field field_ref="ch4_ice_col" enabled="true" />
    62                   <field field_ref="ch4_gas_col" enabled="true" />
    63                   <field field_ref="co_iceflux" enabled="true" />
    64                   <field field_ref="co_ice_col" enabled="true" />
    65                   <field field_ref="co_gas_col" enabled="true" />
    66                   <field field_ref="haze_surf" enabled="true" />
    67                   <field field_ref="prec_haze_col" enabled="true" />
    68                   <field field_ref="vmr_ch4" enabled="true" />
    69                   <field field_ref="vmr_co" enabled="true" />
    70                   -->
    71 
    7253              </field_group>
    7354
     
    8667                  <field field_ref="co_ice" />
    8768                  <field field_ref="haze" />
    88                   <field field_ref="prec_haze" />
    8969
    9070                  <!--field field_ref="h2o_vap" />
     
    9575              </field_group>
    9676
     77              <field_group operation="instant"
     78                           grid_ref="grid_soil_out"
     79                           freq_op="1ts">
     80                  <field field_ref="tsoil" />
     81              </field_group>
     82
     83
    9784            <!--</field_group>-->
    9885        </file>
     86
    9987       <!--XspecIR-->
    10088      <file id="specIR"
     
    123111          </field_group>
    124112      </file>
     113
    125114       <!--XspecVI-->
    126115      <file id="specVI"
     
    129118            type="one_file"
    130119            time_units="days"
    131             enabled="true">
     120            enabled="false">
    132121          <!--Var 1D -->
    133122          <field_group operation="instant"
  • trunk/LMDZ.PLUTO/libf/phypluto/iniwrite.F

    r3184 r3772  
    22
    33      use comsoil_h, only: mlayer, nsoilmx
    4       USE comcstfi_mod, only: g, mugaz, omeg, rad, rcp, pi 
     4      USE comcstfi_mod, only: g, mugaz, omeg, rad, rcp, pi
    55      USE vertical_layers_mod, ONLY: ap,bp,aps,bps,pseudoalt
    66!      USE logic_mod, ONLY: fxyhypb,ysinus
     
    1010      USE regular_lonlat_mod, ONLY: lon_reg, lat_reg
    1111      USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat, nbp_lev
     12      use tabfi_mod, only: tab_cntrl_mod
    1213      IMPLICIT NONE
    1314
     
    4142c   Local:
    4243c   ------
    43       INTEGER length,l
    44       parameter (length = 100)
    45       REAL tab_cntrl(length) ! run parameters are stored in this array
     44    !   INTEGER length,l
     45    !   parameter (length = 100)
     46    !   REAL tab_cntrl(length) ! run parameters are stored in this array
    4647      INTEGER ierr
    4748      REAl,ALLOCATABLE :: lon_reg_ext(:) ! extended longitudes
     
    5051      integer :: idim_rlatu,idim_llmp1,idim_llm
    5152      integer :: idim_nsoilmx ! "subsurface_layers" dimension ID #
    52       integer, dimension(2) :: id 
     53      integer, dimension(2) :: id
    5354c-----------------------------------------------------------------------
    5455
     
    6162      ENDIF
    6263
    63       DO l=1,length
    64          tab_cntrl(l)=0.
    65       ENDDO
    66       tab_cntrl(1)  = real(nbp_lon)
    67       tab_cntrl(2)  = real(nbp_lat-1)
    68       tab_cntrl(3)  = real(nbp_lev)
    69       tab_cntrl(4)  = real(idayref)
    70       tab_cntrl(5)  = rad
    71       tab_cntrl(6)  = omeg
    72       tab_cntrl(7)  = g
    73       tab_cntrl(8)  = mugaz
    74       tab_cntrl(9)  = rcp
    75       tab_cntrl(10) = daysec
    76       tab_cntrl(11) = dtphys
     64    !   DO l=1,length
     65    !      tab_cntrl(l)=0.
     66    !   ENDDO
     67    !   tab_cntrl(1)  = real(nbp_lon)
     68    !   tab_cntrl(2)  = real(nbp_lat-1)
     69    !   tab_cntrl(3)  = real(nbp_lev)
     70    !   tab_cntrl(4)  = real(idayref)
     71    !   tab_cntrl(5)  = rad
     72    !   tab_cntrl(6)  = omeg
     73    !   tab_cntrl(7)  = g
     74    !   tab_cntrl(8)  = mugaz
     75    !   tab_cntrl(9)  = rcp
     76    !   tab_cntrl(10) = daysec
     77    !   tab_cntrl(11) = dtphys
    7778!      tab_cntrl(12) = etot0
    7879!      tab_cntrl(13) = ptot0
     
    8283c
    8384c    ..........    P.Le Van  ( ajout le 8/04/96 )    .........
    84 c         .....        parametres  pour le zoom          ......   
     85c         .....        parametres  pour le zoom          ......
    8586!      tab_cntrl(17)  = clon
    8687!      tab_cntrl(18)  = clat
     
    105106
    106107! Define dimensions
    107    
    108       ierr = NF_REDEF (nid)
    109 
    110       ierr = NF_DEF_DIM (nid, "index", length, idim_index)
     108
     109      ierr = NF_REDEF (nid)
     110
     111      ierr = NF_DEF_DIM (nid, "index", SIZE(tab_cntrl_mod), idim_index)
    111112!      ierr = NF_DEF_DIM (nid, "rlonu", iip1, idim_rlonu)
    112113      ierr = NF_DEF_DIM (nid, "latitude", nbp_lat, idim_rlatu)
     
    126127      ierr = NF_REDEF (nid)
    127128#ifdef NC_DOUBLE
    128       ierr = NF_DEF_VAR (nid, "controle", NF_DOUBLE, 1, 
     129      ierr = NF_DEF_VAR (nid, "controle", NF_DOUBLE, 1,
    129130     .       idim_index,nvarid)
    130131#else
    131       ierr = NF_DEF_VAR (nid, "controle", NF_FLOAT, 1, 
     132      ierr = NF_DEF_VAR (nid, "controle", NF_FLOAT, 1,
    132133     .       idim_index,nvarid)
    133134#endif
     
    136137      ierr = NF_ENDDEF(nid)
    137138#ifdef NC_DOUBLE
    138       ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,tab_cntrl)
    139 #else
    140       ierr = NF_PUT_VAR_REAL (nid,nvarid,tab_cntrl)
     139      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,tab_cntrl_mod)
     140#else
     141      ierr = NF_PUT_VAR_REAL (nid,nvarid,tab_cntrl_mod)
    141142#endif
    142143
     
    177178c
    178179c --------------------------
    179      
     180
    180181      lon_reg_ext(1:nbp_lon)=lon_reg(1:nbp_lon)
    181182      IF (nbp_lon*nbp_lat/=1) THEN
     
    204205      ierr = NF_REDEF (nid)
    205206#ifdef NC_DOUBLE
    206       ierr = NF_DEF_VAR (nid, "altitude", NF_DOUBLE, 1, 
     207      ierr = NF_DEF_VAR (nid, "altitude", NF_DOUBLE, 1,
    207208     .       idim_llm,nvarid)
    208209#else
    209       ierr = NF_DEF_VAR (nid, "altitude", NF_FLOAT, 1, 
     210      ierr = NF_DEF_VAR (nid, "altitude", NF_FLOAT, 1,
    210211     .       idim_llm,nvarid)
    211212#endif
  • trunk/LMDZ.PLUTO/libf/phypluto/phyetat0_mod.F90

    r3736 r3772  
    33implicit none
    44
    5 real, save :: tab_cntrl_mod(100)
    6 
    75integer,save :: nid_start ! NetCDF file identifier for startfi.nc file
    8 
    9 !$OMP THREADPRIVATE(tab_cntrl_mod)
    10 
    116
    127contains
     
    2621!!
    2722  use comsoil_h, only: nsoilmx,inertiedat
    28   use tabfi_mod, only: tabfi
     23  use tabfi_mod, only: tabfi,ini_tab_controle_dyn_xios,tab_cntrl_mod
    2924  USE tracer_h, ONLY: noms
    3025  USE surfdat_h, only: phisfi, albedodat, zmea, zstd, zsig, zgam, zthe
     
    282277    !AF24
    283278endif ! of if (startphy_file)
     279
     280call ini_tab_controle_dyn_xios(day_ini)
    284281!
    285282! close file:
     
    289286end subroutine phyetat0
    290287
    291 
    292 !======================================================================
    293 subroutine ini_tab_controle_dyn_xios(idayref)
    294 
    295 use comcstfi_mod,        only: g, mugaz, omeg, rad, rcp
    296 use time_phylmdz_mod,  only: daysec, dtphys
    297 use mod_grid_phy_lmdz, only: nbp_lon, nbp_lat, nbp_lev
    298 
    299 implicit none
    300 
    301 integer*4, intent(in) :: idayref ! date (initial date for this run)
    302 
    303 integer :: length, l
    304 parameter (length = 100)
    305 real    :: tab_cntrl(length) ! run parameters are stored in this array
    306 
    307 do l = 1,length
    308     tab_cntrl(l) = 0.
    309 enddo
    310 tab_cntrl(1)  = real(nbp_lon)
    311 tab_cntrl(2)  = real(nbp_lat-1)
    312 tab_cntrl(3)  = real(nbp_lev)
    313 tab_cntrl(4)  = real(idayref)
    314 tab_cntrl(5)  = rad
    315 tab_cntrl(6)  = omeg
    316 tab_cntrl(7)  = g
    317 tab_cntrl(8)  = mugaz
    318 tab_cntrl(9)  = rcp
    319 tab_cntrl(10) = daysec
    320 tab_cntrl(11) = dtphys
    321 
    322 tab_cntrl_mod = tab_cntrl
    323 
    324 end subroutine ini_tab_controle_dyn_xios
    325 
    326 
    327288end module phyetat0_mod
  • trunk/LMDZ.PLUTO/libf/phypluto/physiq_mod.F90

    r3765 r3772  
    3636                          nesp, is_chim
    3737      use time_phylmdz_mod, only: diagfi_output_rate, startfi_output_rate, nday
    38       use phyetat0_mod, only: phyetat0,tab_cntrl_mod
     38      use phyetat0_mod, only: phyetat0
     39      use tabfi_mod, only: tab_cntrl_mod
    3940      use wstats_mod, only: callstats, wstats, mkstats
    4041      use phyredem, only: physdem0, physdem1
  • trunk/LMDZ.PLUTO/libf/phypluto/tabfi_mod.F90

    r3736 r3772  
    22
    33IMPLICIT NONE
     4
     5real, save :: tab_cntrl_mod(100)
     6!$OMP THREADPRIVATE(tab_cntrl_mod)
    47
    58CONTAINS
     
    588591      END SUBROUTINE tabfi
    589592
     593
     594      subroutine ini_tab_controle_dyn_xios(idayref)
     595      ! Initialize controle variable for XIOS & diagfi
     596
     597        use comcstfi_mod,        only: g, mugaz, omeg, rad, rcp
     598        use time_phylmdz_mod,  only: daysec, dtphys
     599        use mod_grid_phy_lmdz, only: nbp_lon, nbp_lat, nbp_lev
     600
     601        implicit none
     602
     603        integer*4, intent(in) :: idayref ! date (initial date for this run)
     604
     605        integer :: length, l
     606        parameter (length = 100)
     607        real    :: tab_cntrl(length) ! run parameters are stored in this array
     608
     609        do l = 1,length
     610            tab_cntrl(l) = 0.
     611        enddo
     612        tab_cntrl(1)  = real(nbp_lon)
     613        tab_cntrl(2)  = real(nbp_lat-1)
     614        tab_cntrl(3)  = real(nbp_lev)
     615        tab_cntrl(4)  = real(idayref)
     616        tab_cntrl(5)  = rad
     617        tab_cntrl(6)  = omeg
     618        tab_cntrl(7)  = g
     619        tab_cntrl(8)  = mugaz
     620        tab_cntrl(9)  = rcp
     621        tab_cntrl(10) = daysec
     622        tab_cntrl(11) = dtphys
     623
     624        tab_cntrl_mod = tab_cntrl
     625
     626      end subroutine ini_tab_controle_dyn_xios
     627
     628
    590629end module tabfi_mod
Note: See TracChangeset for help on using the changeset viewer.