Changeset 3112


Ignore:
Timestamp:
Dec 5, 2017, 12:53:00 PM (6 years ago)
Author:
musat
Message:

Add LMDZ outputs: icc3dcon, icc3dstra
Add CMIP6 outputs : clic, clis, rsdsdiff, rsdscsdiff
Correct parasolRefl_sea
Add "HomeCMIP6" variable HomeCMIP6_parasolCRefl
IM

Location:
LMDZ6/trunk
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/DefLists/CMIP6_ping_atmos.xml

    r3108 r3112  
    6565   <field id="CMIP6_clhcalipso"    field_ref="pclhcalipso"       /> <!-- P1 (%) cloud_area_fraction_in_atmosphere_layer : Percentage cloud cover in layer centred on 220hPa -->
    6666   <field id="CMIP6_cli"           field_ref="iwcon"            /> <!-- P1 (kg kg-1) mass_fraction_of_cloud_ice_in_air : Includes both large-scale and convective cloud. This is calculated as the mass of cloud ice in the grid cell divided by the mass of air (including the water in all phases) in the grid cell. It includes precipitating hydrometeors ONLY if the precipitating hydrometeors affect the calculation of radiative transfer in model. -->
    67    <field id="CMIP6_clic"          field_ref="dummy_XYA"        /> <!-- P2 (1.0) mass_fraction_of_convective_cloud_ice_in_air : Calculated as the mass of convective cloud ice  in the grid cell divided by the mass of air (including the water in all phases) in the grid cell.  This includes precipitating hydrometeors ONLY if the precipitating hydrometeors affect the calculation of radiative transfer in model. -->
     67   <field id="CMIP6_clic"          field_ref="icc3dcon"        /> <!-- P2 (1.0) mass_fraction_of_convective_cloud_ice_in_air : Calculated as the mass of convective cloud ice  in the grid cell divided by the mass of air (including the water in all phases) in the grid cell.  This includes precipitating hydrometeors ONLY if the precipitating hydrometeors affect the calculation of radiative transfer in model. -->
    6868   <field id="CMIP6_climodis"      field_ref="climodis"         /> <!-- P1 (%) ice_cloud_area_fraction : MODIS Ice Cloud Area Percentage -->
    69    <field id="CMIP6_clis"          field_ref="dummy_XYA"        /> <!-- P2 (1.0) mass_fraction_of_stratiform_cloud_ice_in_air : Calculated as the mass of stratiform cloud ice  in the grid cell divided by the mass of air (including the water in all phases) in the grid cell.  This includes precipitating hydrometeors ONLY if the precipitating hydrometeors affect the calculation of radiative transfer in model. -->
     69   <field id="CMIP6_clis"          field_ref="icc3dstra"        /> <!-- P2 (1.0) mass_fraction_of_stratiform_cloud_ice_in_air : Calculated as the mass of stratiform cloud ice  in the grid cell divided by the mass of air (including the water in all phases) in the grid cell.  This includes precipitating hydrometeors ONLY if the precipitating hydrometeors affect the calculation of radiative transfer in model. -->
    7070   <field id="CMIP6_clisccp"       field_ref="clisccp2"         /> <!-- P1 (%) cloud_area_fraction_in_atmosphere_layer : Percentage cloud cover in optical depth categories. -->
    7171   <field id="CMIP6_clivi"         field_ref="iwp"              /> <!-- P1 (kg m-2) atmosphere_cloud_ice_content : mass of ice water in the column divided by the area of the column (not just the area of the cloudy portion of the column). Includes precipitating frozen hydrometeors ONLY if the precipitating hydrometeor affects the calculation of radiative transfer in model. -->
     
    168168   <field id="CMIP6_od550so4so"    field_ref="dummy_not_provided"         /> <!-- P1 (1.0) missing : Balkanski - LSCE -->
    169169   <field id="CMIP6_od865dust"     field_ref="dummy_not_provided"         /> <!-- P1 (1.0) atmosphere_optical_thickness_due_to_dust_ambient_aerosol_particles : Balkanski - LSCE -->
    170    <field id="CMIP6_parasolRefl_sea" field_ref="parasolRefl" parasolRefl*fract_oce </field> <!-- P1 (1.0) toa_bidirectional_reflectance : Simulated reflectance from PARASOL as seen at the top of the atmosphere for 5 solar zenith angles. Valid only over ocean and for one viewing direction (viewing zenith angle of 30 degrees and relative azimuth angle 320 degrees). -->
     170   <field id="CMIP6_parasolRefl_sea" field_ref="parasol_refl" parasol_refl*fract_oce </field> <!-- P1 (1.0) toa_bidirectional_reflectance : Simulated reflectance from PARASOL as seen at the top of the atmosphere for 5 solar zenith angles. Valid only over ocean and for one viewing direction (viewing zenith angle of 30 degrees and relative azimuth angle 320 degrees). -->
     171   <field id="HomeCMIP6_parasolCRefl" field_ref="parasol_crefl" /> <!-- P4 (1.0) toa_bidirectional_reflectance (integral) : Simulated reflectance from PARASOL as seen at the top of the atmosphere integrated over all 5 solar zenith angles. -->
    171172   <field id="CMIP6_pctisccp"      field_ref="ctpisccp"         /> <!-- P1 (Pa) air_pressure_at_cloud_top : ISCCP Mean Cloud Top Pressure. Time-means are weighted by the ISCCP Total Cloud Fraction {:cltisccp} - see  http://cfmip.metoffice.com/COSP.html -->
    172173   <field id="CMIP6_pfull"         field_ref="pres"             /> <!-- P1 (Pa) air_pressure : Air pressure on model levels -->
     
    230231   <field id="CMIP6_rsdscsafbnd"   field_ref="dummy_not_provided"         /> <!-- P1 (W m-2) surface_downwelling_shortwave_flux_in_air_assuming_clean_clear_sky : Calculated in the absence of aerosols and clouds, following Ghan (2013, ACP). This requires a double-call in the radiation code with precisely the same meteorology. -->
    231232   <field id="CMIP6_rsdscsbnd"     field_ref="dummy_not_provided"         /> <!-- P1 (W m-2) surface_downwelling_shortwave_flux_in_air_assuming_clear_sky : Calculated with aerosols but without clouds. This is a standard clear-sky calculation -->
    232    <field id="CMIP6_rsdscsdiff"    field_ref="dummy_XY"         /> <!-- P1 (W m-2) surface_diffuse_downwelling_shortwave_flux_in_air_assuming_clear_sky : unset -->
    233    <field id="CMIP6_rsdsdiff"      field_ref="dummy_XY"         /> <!-- P1 (W m-2) surface_diffuse_downwelling_shortwave_flux_in_air : unset -->
     233   <field id="CMIP6_rsdscsdiff"    field_ref="rsdscsdiff"         /> <!-- P1 (W m-2) surface_diffuse_downwelling_shortwave_flux_in_air_assuming_clear_sky : unset -->
     234   <field id="CMIP6_rsdsdiff"      field_ref="rsdsdiff"         /> <!-- P1 (W m-2) surface_diffuse_downwelling_shortwave_flux_in_air : unset -->
    234235   <field id="CMIP6_rsdt"          field_ref="SWdnTOA"          /> <!-- P1 (W m-2) toa_incoming_shortwave_flux : Shortwave radiation incident at the top of the atmosphere -->
    235236   <field id="CMIP6_rss"           field_ref="sols"             /> <!-- P1 (W m-2) surface_net_downward_shortwave_flux : Net downward shortwave radiation at the surface -->
  • LMDZ6/trunk/DefLists/field_def_lmdz.xml

    r3110 r3112  
    568568        <field id="lcc3dcon"    long_name="Convective cloud liquid fraction"    unit="1" />
    569569        <field id="lcc3dstra"    long_name="Stratiform cloud liquid fraction"    unit="1" />
     570        <field id="icc3dcon"    long_name="Mass Fraction of Convective Cloud Ice"    unit="kg/kg" />
     571        <field id="icc3dstra"    long_name="Mass Fraction of Stratiform Cloud Ice "    unit="kg/kg" />
    570572        <field id="clwcon"    long_name="Convective Cloud Liquid water content"    unit="kg/kg" />
    571573        <field id="Ma"    long_name="undilute adiab updraft"    unit="kg/m2/s" />
     
    804806
    805807    <field_group id="fields_solbnd_3D" grid_ref="grid_glo_spectband" >
    806       <field id="solbnd"    long_name="Top-of-Atmosphere Solar Insolation for each band"    unit="W m-2" />
     808      <field id="solbnd"    long_name="Top-of-Atmosphere Solar Insolation for each band" unit="W m-2" />
     809      <field id="rsdsdiff"  long_name="Surface Diffuse Downwelling Shortwave Radiation"  unit="W m-2" />
     810      <field id="rsdscsdiff" long_name="Surface Diffuse Downwelling Clear Sky Shortwave Radiation" unit="W m-2" />
    807811    </field_group>
    808812
  • LMDZ6/trunk/DefLists/file_def_histday_lmdz.xml

    r3110 r3112  
    512512                <field field_ref="lcc3dcon" level="6" />
    513513                <field field_ref="lcc3dstra" level="6" />
     514                <field field_ref="icc3dcon" level="6" />
     515                <field field_ref="icc3dstra" level="6" />
    514516                <field field_ref="clwcon" level="10" />
    515517                <field field_ref="Ma" level="10" />
     
    622624                <field field_ref="rldcs4co2" level="10" />
    623625            </field_group>
     626
     627            <!-- VARS 3D -->
     628            <field_group operation="average" freq_op="1ts" grid_ref="grid_glo_spectband">
     629                <field field_ref="solbnd" level="4" />
     630                <field field_ref="rsdsdiff" level="4" />
     631                <field field_ref="rsdscsdiff" level="4" />
     632            </field_group>
     633
    624634        </file>
    625635    </file_group>
  • LMDZ6/trunk/DefLists/file_def_histhf_lmdz.xml

    r3110 r3112  
    531531                <field field_ref="reffclwc" level="10" />
    532532                <field field_ref="lcc3d" level="10" />
    533                 <field field_ref="lcc3dcon" level="10" />
    534                 <field field_ref="lcc3dstra" level="10" />
     533                <field field_ref="lcc3dcon" level="5" />
     534                <field field_ref="lcc3dstra" level="5" />
     535                <field field_ref="icc3dcon" level="5" />
     536                <field field_ref="icc3dstra" level="5" />
    535537                <field field_ref="clwcon" level="10" />
    536538                <field field_ref="Ma" level="10" />
     
    643645                <field field_ref="rldcs4co2" level="10" />
    644646            </field_group>
     647
     648            <!-- VARS 3D -->
     649            <field_group operation="average" freq_op="1ts" grid_ref="grid_glo_spectband">
     650                <field field_ref="solbnd" level="4" />
     651                <field field_ref="rsdsdiff" level="4" />
     652                <field field_ref="rsdscsdiff" level="4" />
     653            </field_group>
     654
    645655        </file>
    646656    </file_group>
  • LMDZ6/trunk/DefLists/file_def_histmth_lmdz.xml

    r3110 r3112  
    554554                <field field_ref="lcc3dcon" level="2" />
    555555                <field field_ref="lcc3dstra" level="2" />
     556                <field field_ref="icc3dcon" level="2" />
     557                <field field_ref="icc3dstra" level="2" />
    556558                <field field_ref="clwcon" level="4" />
    557559                <field field_ref="Ma" level="4" />
     
    668670            <field_group operation="average" freq_op="1ts" grid_ref="grid_glo_spectband">
    669671                <field field_ref="solbnd" level="4" />
     672                <field field_ref="rsdsdiff" level="4" />
     673                <field field_ref="rsdscsdiff" level="4" />
    670674            </field_group>
    671675
  • LMDZ6/trunk/libf/phylmd/newmicro.F90

    r2596 r3112  
    1010  USE dimphy
    1111  USE phys_local_var_mod, ONLY: scdnc, cldncl, reffclwtop, lcc, reffclws, &
    12     reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra
     12    reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra, icc3dcon, icc3dstra
    1313  USE phys_state_var_mod, ONLY: rnebcon, clwcon
    1414  USE icefrac_lsc_mod ! computes ice fraction (JBM 3/14)
     
    586586        lcc3dstra(i, k) = lcc3dstra(i, k) - lcc3dcon(i, k) ! eau liquide stratiforme
    587587        lcc3dstra(i, k) = max(lcc3dstra(i,k), 0.0)
     588        !
     589        icc3dcon(i, k) = rnebcon(i, k)*(1-phase3d(i, k))*clwcon(i, k) ! glace
     590                                                                      ! convective
     591        icc3dstra(i, k) = pclc(i, k)*pqlwp(i, k)*(1-phase3d(i, k))
     592        icc3dstra(i, k) = icc3dstra(i, k) - icc3dcon(i, k) ! glace stratiforme
     593        icc3dstra(i, k) = max( icc3dstra(i, k), 0.0)
     594        !
    588595        ! Compute cloud droplet radius as above in meter
    589596        radius = 1.1*((pqlwp(i,k)*pplay(i,k)/(rd*t(i,k)))/(4./3*rpi*1000.* &
     
    626633        IF (lcc3dcon(i,k)<=0.0) lcc3dcon(i, k) = 0.0
    627634        IF (lcc3dstra(i,k)<=0.0) lcc3dstra(i, k) = 0.0
     635        IF (icc3dcon(i,k)<=0.0) icc3dcon(i, k) = 0.0
     636        IF (icc3dstra(i,k)<=0.0) icc3dstra(i, k) = 0.0
    628637      END DO
    629638      IF (reffclwtop(i)<=0.0) reffclwtop(i) = 0.0
  • LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90

    r3100 r3112  
    140140      REAL, SAVE, ALLOCATABLE :: ZFSDN0(:,:),  ZFSUP0(:,:)      ! diag
    141141      !$OMP THREADPRIVATE(ZFSDN0,ZFSUP0)
     142      REAL, SAVE, ALLOCATABLE :: PSFSWDIR(:,:), PSFSWDIF(:,:)
     143      !$OMP THREADPRIVATE(PSFSWDIR, PSFSWDIF)
    142144!
    143145      REAL, SAVE, ALLOCATABLE :: stratomask(:,:)
     
    169171      REAL, SAVE, ALLOCATABLE :: lcc3dstra(:,:)
    170172      !$OMP THREADPRIVATE(lcc3dstra)
     173      REAL, SAVE, ALLOCATABLE :: icc3dstra(:,:)
     174      !$OMP THREADPRIVATE(icc3dstra)
     175      REAL, SAVE, ALLOCATABLE :: icc3dcon(:,:)
     176      !$OMP THREADPRIVATE(icc3dcon)
    171177      REAL, SAVE, ALLOCATABLE :: od443aer(:)
    172178      !$OMP THREADPRIVATE(od443aer)
     
    516522USE phys_state_var_mod
    517523
    518 IMPLICIT NONE
     524      IMPLICIT NONE
     525      include "clesphys.h"
    519526      ALLOCATE(t_seri(klon,klev),q_seri(klon,klev),ql_seri(klon,klev),qs_seri(klon,klev))
    520527      ALLOCATE(u_seri(klon,klev),v_seri(klon,klev))
     
    564571      ALLOCATE(ZLWFT0_i(klon,klev+1),ZSWFT0_i(klon,klev+1),ZFLDN0(klon,klev+1))
    565572      ALLOCATE(ZFLUP0(klon,klev+1),ZFSDN0(klon,klev+1),ZFSUP0(klon,klev+1))
     573      ALLOCATE(PSFSWDIR(klon,NSW), PSFSWDIF(klon,NSW))
    566574!
    567575      ALLOCATE(topswad_aero(klon), solswad_aero(klon))
     
    593601      ALLOCATE(lcc3dcon(klon, klev))
    594602      ALLOCATE(lcc3dstra(klon, klev))
     603      ALLOCATE(icc3dcon(klon, klev))
     604      ALLOCATE(icc3dstra(klon, klev))
    595605      ALLOCATE(od443aer(klon))
    596606      ALLOCATE(od550aer(klon))
     
    845855      DEALLOCATE(d_u_lif,d_v_lif)
    846856      DEALLOCATE(d_ts, d_tr)
     857      DEALLOCATE(ZLWFT0_i,ZSWFT0_i,ZFLDN0)
     858      DEALLOCATE(ZFLUP0,ZFSDN0,ZFSUP0)
     859      DEALLOCATE(PSFSWDIR, PSFSWDIF)
    847860      DEALLOCATE(topswad_aero,solswad_aero)
    848861      DEALLOCATE(topswai_aero,solswai_aero)
     
    868881      DEALLOCATE(lcc3dcon)
    869882      DEALLOCATE(lcc3dstra)
     883      DEALLOCATE(icc3dcon)
     884      DEALLOCATE(icc3dstra)
    870885      DEALLOCATE(od443aer)
    871886      DEALLOCATE(od550aer)
  • LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90

    r3110 r3112  
    14471447  TYPE(ctrl_out), SAVE :: o_lcc3dstra = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    14481448    'lcc3dstra', 'Stratiform cloud liquid fraction', '1', (/ ('', i=1, 10) /))
     1449  TYPE(ctrl_out), SAVE :: o_icc3dcon = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1450    'icc3dcon', 'Mass Fraction of Convective Cloud Ice', &
     1451    'kg kg-1', (/ ('', i=1, 10) /))
     1452  TYPE(ctrl_out), SAVE :: o_icc3dstra = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1453    'icc3dstra', 'Mass Fraction of Stratiform Cloud Ice', &
     1454    'kg kg-1', (/ ('', i=1, 10) /))
    14491455  TYPE(ctrl_out), SAVE :: o_solbnd = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    14501456    'solbnd', 'Top-of-Atmosphere Solar Insolation for each band', 'W m-2', (/ ('', i=1, 10) /))
     1457  TYPE(ctrl_out), SAVE :: o_rsdsdiff = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1458    'rsdsdiff', 'Surface Diffuse Downwelling Shortwave Radiation', 'W m-2', (/ ('', i=1, 10) /))
     1459  TYPE(ctrl_out), SAVE :: o_rsdscsdiff = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1460    'rsdscsdiff', 'Surface Diffuse Downwelling Clear Sky Shortwave Radiation', 'W m-2', (/ ('', i=1, 10) /))
    14511461  TYPE(ctrl_out), SAVE :: o_stratomask = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    14521462    'stratomask', 'Stratospheric fraction', '1', (/ ('', i=1, 10) /))
  • LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90

    r3110 r3112  
    120120         o_swtoacf_zero, o_swsrfcf_zero, &
    121121         o_topswai, o_solswai, o_toplwai, o_sollwai, o_scdnc, &
    122          o_cldncl, o_reffclws, o_reffclwc, o_solbnd, o_stratomask,&
     122         o_cldncl, o_reffclws, o_reffclwc, o_solbnd, &
     123         o_rsdsdiff, o_rsdscsdiff, o_stratomask,&
    123124         o_cldnvi, o_lcc, o_lcc3d, o_lcc3dcon, &
    124          o_lcc3dstra, o_reffclwtop, o_ec550aer, &
     125         o_lcc3dstra, o_icc3dcon, o_icc3dstra, o_reffclwtop, o_ec550aer, &
    125126         o_lwcon, o_iwcon, o_temp, o_theta, &
    126127         o_ovapinit, o_ovap, o_oliq, o_ocond, o_geop, &
     
    277278         toplwad_aero, toplwad0_aero, sollwad_aero, &
    278279         sollwad0_aero, toplwai_aero, sollwai_aero, &
    279          scdnc, cldncl, reffclws, reffclwc, cldnvi, stratomask,&
    280          lcc, lcc3d, lcc3dcon, lcc3dstra, reffclwtop, &
     280         scdnc, cldncl, reffclws, reffclwc, cldnvi, &
     281         PSFSWDIR, PSFSWDIF, stratomask,&
     282         lcc, lcc3d, lcc3dcon, lcc3dstra, icc3dcon, icc3dstra, reffclwtop, &
    281283         ec550aer, flwc, fiwc, t_seri, theta, q_seri, &
    282284         ql_seri, qs_seri, tr_seri, &
     
    14061408          CALL histwrite_phy(o_lcc3dcon, lcc3dcon)
    14071409          CALL histwrite_phy(o_lcc3dstra, lcc3dstra)
     1410          CALL histwrite_phy(o_icc3dcon, icc3dcon)
     1411          CALL histwrite_phy(o_icc3dstra, icc3dstra)
    14081412          CALL histwrite_phy(o_reffclwtop, reffclwtop)
    14091413       ENDIF
     
    14321436#ifdef CPP_RRTM
    14331437      IF (iflag_rrtm.EQ.1) THEN
     1438
    14341439       IF (vars_defined) THEN
    14351440        DO ISW=1, NSW
     
    14381443        CALL histwrite_phy(o_solbnd, zx_tmp_fi3dsp)
    14391444       ENDIF
     1445
     1446       IF (vars_defined) THEN
     1447        CALL histwrite_phy(o_rsdscsdiff, PSFSWDIR)
     1448       ENDIF
     1449
     1450       IF (vars_defined) THEN
     1451        CALL histwrite_phy(o_rsdsdiff, PSFSWDIF)
     1452       ENDIF
     1453
    14401454      ENDIF
    14411455#endif
  • LMDZ6/trunk/libf/phylmd/physiq_mod.F90

    r3111 r3112  
    8080       ZLWFT0_i,ZSWFT0_i,ZFLDN0,  &
    8181       ZFLUP0,ZFSDN0,ZFSUP0,      &
     82       PSFSWDIR, PSFSWDIF, &
    8283       !
    8384       topswad_aero,solswad_aero,   &
     
    37923793                                !-end
    37933794               ZLWFT0_i, ZFLDN0, ZFLUP0, &
    3794                ZSWFT0_i, ZFSDN0, ZFSUP0)
     3795               ZSWFT0_i, ZFSDN0, ZFSUP0, &
     3796               PSFSWDIR, PSFSWDIF)
    37953797
    37963798          !lwoff=y, betalwoff=1. : offset LW CRE for radiation code and other
     
    38763878                                !-end
    38773879                     ZLWFT0_i, ZFLDN0, ZFLUP0, &
    3878                      ZSWFT0_i, ZFSDN0, ZFSUP0)
     3880                     ZSWFT0_i, ZFSDN0, ZFSUP0, &
     3881                     PSFSWDIR, PSFSWDIF)
    38793882          endif !ok_4xCO2atm
    38803883       ENDIF ! aerosol_couple
  • LMDZ6/trunk/libf/phylmd/radlwsw_m.F90

    r3106 r3112  
    4242!-end
    4343   ZLWFT0_i, ZFLDN0, ZFLUP0,&
    44    ZSWFT0_i, ZFSDN0, ZFSUP0)
     44   ZSWFT0_i, ZFSDN0, ZFSUP0,&
     45   PSFSWDIR, PSFSWDIF)
    4546
    4647
Note: See TracChangeset for help on using the changeset viewer.