Changeset 5677 for LMDZ6/trunk


Ignore:
Timestamp:
May 23, 2025, 5:29:18 PM (6 weeks ago)
Author:
Laurent Fairhead
Message:

Added outputs for spectral bands in RRTM (with dummy variables for ECRAD at present)
FC

Location:
LMDZ6/trunk
Files:
22 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified LMDZ6/trunk/DefLists/field_def_lmdz.xml

    r5662 r5677  
    663663   </field_group>
    664664          <!-- end Added SN isotopes 2D fields 07 2023 -->
    665    </field_group>
     665        <field id="lwtoab130" long_name="LW TOA  band 130cm-1" unit="W m-2" />
     666        <field id="lwtoab375" long_name="LW TOA  band 375cm-1 " unit="W m-2" />
     667        <field id="lwtoab565" long_name="LW TOA  band 565cm-1" unit="W m-2" />
     668        <field id="lwtoab665" long_name="LW TOA  band 665cm-1" unit="W m-2" />
     669        <field id="lwtoab760" long_name="LW TOA  band 760cm-1" unit="W m-2" />
     670        <field id="lwtoab900" long_name="LW TOA  band 900cm-1" unit="W m-2" />
     671        <field id="lwtoab1030" long_name="LW TOA  band 1030cm-1" unit="W m-2" />
     672        <field id="lwtoab1130" long_name="LW TOA  band 1130cm-1" unit="W m-2" />
     673        <field id="lwtoab1285" long_name="LW TOA  band 1285cm-1" unit="W m-2" />
     674        <field id="lwtoab1435" long_name="LW TOA  band 1435cm-1" unit="W m-2" />
     675        <field id="lwtoab1640" long_name="LW TOA  band 1640cm-1" unit="W m-2" />
     676        <field id="lwtoab1940" long_name="LW TOA  band 1940cm-1" unit="W m-2" />
     677        <field id="lwtoab2165" long_name="LW TOA  band 2165cm-1" unit="W m-2" />
     678        <field id="lwtoab2315" long_name="LW TOA  band 2315cm-1" unit="W m-2" />
     679        <field id="lwtoab2490" long_name="LW TOA  band 2490cm-1" unit="W m-2" />
     680        <field id="lwtoab2800" long_name="LW TOA  band 2800cm-1" unit="W m-2" />
     681        <field id="lwtoabtot" long_name="LW TOA  band total" unit="W m-2" />
     682        <field id="lwtoa0b" long_name="LW TOA CS band" unit="W m-2" />
     683        <field id="lwtoab4co2" long_name="LW TOA  band 4xCO2" unit="W m-2" />
     684        <field id="lwtoacsb4co2" long_name="LW TOA CS band 4xCO2 CS" unit="W m-2" />
     685        <field id="lwtoab_s2" long_name="Ecrad LW toab" unit="-" />
     686        <field id="lwtoa0b_s2" long_name="Ecrad LW toa0b" unit="-" />
     687</field_group>
    666688
    667689    <field_group id="fields_3D" grid_ref="grid_glo_presnivs" >
  • TabularUnified LMDZ6/trunk/DefLists/file_def_histLES_lmdz.xml

    r5507 r5677  
    7878                <field field_ref="tops0" level="10" />
    7979                <field field_ref="topl" level="10" />
     80                <field field_ref="lwtoab130" level="10" />
     81                <field field_ref="lwtoab375" level="10" />
     82                <field field_ref="lwtoab565" level="10" />
     83                <field field_ref="lwtoab665" level="10" />
     84                <field field_ref="lwtoab760" level="10" />
     85                <field field_ref="lwtoab900" level="10" />
     86                <field field_ref="lwtoab1030" level="10" />
     87                <field field_ref="lwtoab1130" level="10" />
     88                <field field_ref="lwtoab1285" level="10" />
     89                <field field_ref="lwtoab1435" level="10" />
     90                <field field_ref="lwtoab1640" level="10" />
     91                <field field_ref="lwtoab1940" level="10" />
     92                <field field_ref="lwtoab2165" level="10" />
     93                <field field_ref="lwtoab2315" level="10" />
     94                <field field_ref="lwtoab2315" level="10" />
     95                <field field_ref="lwtoab2490" level="10" />
     96                <field field_ref="lwtoab2800" level="10" />
    8097                <field field_ref="topl0" level="10" />
    8198                <field field_ref="SWupTOA" level="10" />
  • TabularUnified LMDZ6/trunk/DefLists/file_def_histday_lmdz.xml

    r5662 r5677  
    8989                <field field_ref="tops0" level="5" />
    9090                <field field_ref="topl" level="1" />
     91                <field field_ref="lwtoab130" level="10" />
     92                <field field_ref="lwtoab375" level="10" />
     93                <field field_ref="lwtoab565" level="10" />
     94                <field field_ref="lwtoab665" level="10" />
     95                <field field_ref="lwtoab760" level="10" />
     96                <field field_ref="lwtoab900" level="10" />
     97                <field field_ref="lwtoab1030" level="10" />
     98                <field field_ref="lwtoab1130" level="10" />
     99                <field field_ref="lwtoab1285" level="10" />
     100                <field field_ref="lwtoab1435" level="10" />
     101                <field field_ref="lwtoab1640" level="10" />
     102                <field field_ref="lwtoab1940" level="10" />
     103                <field field_ref="lwtoab2165" level="10" />
     104                <field field_ref="lwtoab2315" level="10" />
     105                <field field_ref="lwtoab2315" level="10" />
     106                <field field_ref="lwtoab2490" level="10" />
     107                <field field_ref="lwtoab2800" level="10" />
     108                <field field_ref="lwtoabtot" level="10" />
    91109                <field field_ref="topl0" level="5" />
    92110                <field field_ref="SWupTOA" level="4" />
  • TabularUnified LMDZ6/trunk/DefLists/file_def_histhf_lmdz.xml

    r5662 r5677  
    9393                <field field_ref="tops0" level="10" />
    9494                <field field_ref="topl" level="10" />
     95                <field field_ref="lwtoab130" level="10" />
     96                <field field_ref="lwtoab375" level="10" />
     97                <field field_ref="lwtoab565" level="10" />
     98                <field field_ref="lwtoab665" level="10" />
     99                <field field_ref="lwtoab760" level="10" />
     100                <field field_ref="lwtoab900" level="10" />
     101                <field field_ref="lwtoab1030" level="10" />
     102                <field field_ref="lwtoab1130" level="10" />
     103                <field field_ref="lwtoab1285" level="10" />
     104                <field field_ref="lwtoab1435" level="10" />
     105                <field field_ref="lwtoab1640" level="10" />
     106                <field field_ref="lwtoab1940" level="10" />
     107                <field field_ref="lwtoab2165" level="10" />
     108                <field field_ref="lwtoab2315" level="10" />
     109                <field field_ref="lwtoab2315" level="10" />
     110                <field field_ref="lwtoab2490" level="10" />
     111                <field field_ref="lwtoab2800" level="10" />
    95112                <field field_ref="topl0" level="10" />
    96113                <field field_ref="SWupTOA" level="10" />
  • TabularUnified LMDZ6/trunk/DefLists/file_def_histins_lmdz.xml

    r5662 r5677  
    8989                <field field_ref="tops0" level="10" />
    9090                <field field_ref="topl" level="10" />
     91                <field field_ref="lwtoab130" level="10" />
     92                <field field_ref="lwtoab375" level="10" />
     93                <field field_ref="lwtoab565" level="10" />
     94                <field field_ref="lwtoab665" level="10" />
     95                <field field_ref="lwtoab760" level="10" />
     96                <field field_ref="lwtoab900" level="10" />
     97                <field field_ref="lwtoab1030" level="10" />
     98                <field field_ref="lwtoab1130" level="10" />
     99                <field field_ref="lwtoab1285" level="10" />
     100                <field field_ref="lwtoab1435" level="10" />
     101                <field field_ref="lwtoab1640" level="10" />
     102                <field field_ref="lwtoab1940" level="10" />
     103                <field field_ref="lwtoab2165" level="10" />
     104                <field field_ref="lwtoab2315" level="10" />
     105                <field field_ref="lwtoab2315" level="10" />
     106                <field field_ref="lwtoab2490" level="10" />
     107                <field field_ref="lwtoab2800" level="10" />
    91108                <field field_ref="topl0" level="10" />
    92109                <field field_ref="SWupTOA" level="10" />
  • TabularUnified LMDZ6/trunk/DefLists/file_def_histmth_lmdz.xml

    r5662 r5677  
    123123                <field field_ref="tops0"    level="1" />
    124124                <field field_ref="topl"     level="1" />
     125                <field field_ref="lwtoab130" level="10" />
     126                <field field_ref="lwtoab375" level="10" />
     127                <field field_ref="lwtoab565" level="10" />
     128                <field field_ref="lwtoab665" level="10" />
     129                <field field_ref="lwtoab760" level="10" />
     130                <field field_ref="lwtoab900" level="10" />
     131                <field field_ref="lwtoab1030" level="10" />
     132                <field field_ref="lwtoab1130" level="10" />
     133                <field field_ref="lwtoab1285" level="10" />
     134                <field field_ref="lwtoab1435" level="10" />
     135                <field field_ref="lwtoab1640" level="10" />
     136                <field field_ref="lwtoab1940" level="10" />
     137                <field field_ref="lwtoab2165" level="10" />
     138                <field field_ref="lwtoab2315" level="10" />
     139                <field field_ref="lwtoab2315" level="10" />
     140                <field field_ref="lwtoab2490" level="10" />
     141                <field field_ref="lwtoab2800" level="10" />
    125142                <field field_ref="topl0"    level="1" />
    126143                <field field_ref="SWupTOA"  level="1" />
  • TabularUnified LMDZ6/trunk/libf/phylmd/iophy.F90

    r5582 r5677  
    535535    USE phys_output_var_mod, ONLY: type_ecri, zoutm, lev_files, nid_files, &
    536536                                   nhorim, zdtime_moy, levmin, levmax, &
    537                                    nvertm, nfiles
     537                                   nvertm, nfiles , ncanaux !FC
    538538    USE mod_grid_phy_lmdz, ONLY : nbp_lon, nbp_lat
    539539    USE print_control_mod, ONLY: prt_level,lunout
     
    701701                                   clef_stations, phys_out_filenames, lev_files, &
    702702                                   nid_files, nhorim, swaerofree_diag, levmin, &
    703                                    levmax, nvertm
     703                                   levmax, nvertm, ncanaux !FC
    704704    USE print_control_mod, ONLY: prt_level,lunout
    705705    USE mod_grid_phy_lmdz, ONLY : nbp_lon, nbp_lat
  • TabularUnified LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90

    r5662 r5677  
    484484  !  type(ctrl_out),save :: o_LWdnTOAclr  = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'LWdnTOAclr', &
    485485  !    (/ ('', i=1, 10) /))
     486  !FC
     487  TYPE(ctrl_out), SAVE :: o_lwtoab130 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     488    'lwtoab130', 'LW TOA  band 130cm-1 ', 'W m-2', (/ ('', i=1, 10) /))
     489  TYPE(ctrl_out), SAVE :: o_lwtoab375 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     490    'lwtoab375', 'LW TOA  band 375cm-1', 'W m-2', (/ ('', i=1, 10) /))
     491  TYPE(ctrl_out), SAVE :: o_lwtoab565 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     492    'lwtoab565', 'LW TOA  band 565cm-1 ', 'W m-2', (/ ('', i=1, 10) /))
     493  TYPE(ctrl_out), SAVE :: o_lwtoab665 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     494    'lwtoab665', 'LW TOA  band 665cm-1', 'W m-2', (/ ('', i=1, 10) /))
     495  TYPE(ctrl_out), SAVE :: o_lwtoab760 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     496    'lwtoab760', 'LW TOA  band 760cm-1', 'W m-2', (/ ('', i=1, 10) /))
     497  TYPE(ctrl_out), SAVE :: o_lwtoab900 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     498    'lwtoab900', 'LW TOA  band 900cm-1', 'W m-2', (/ ('', i=1, 10) /))
     499  TYPE(ctrl_out), SAVE :: o_lwtoab1030 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     500    'lwtoab1030', 'LW TOA  band 1030cm-1', 'W m-2', (/ ('', i=1, 10) /))
     501  TYPE(ctrl_out), SAVE :: o_lwtoab1130 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     502    'lwtoab1130', 'LW TOA  band 1130cm-1', 'W m-2', (/ ('', i=1, 10) /))
     503  TYPE(ctrl_out), SAVE :: o_lwtoab1285 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     504    'lwtoab1285', 'LW TOA  band 1285cm-1', 'W m-2', (/ ('', i=1, 10) /))
     505  TYPE(ctrl_out), SAVE :: o_lwtoab1435 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     506    'lwtoab1435', 'LW TOA  band 1435cm-1', 'W m-2', (/ ('', i=1, 10) /))
     507  TYPE(ctrl_out), SAVE :: o_lwtoab1640 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     508    'lwtoab1640', 'LW TOA  band 1640cm-1', 'W m-2', (/ ('', i=1, 10) /))
     509  TYPE(ctrl_out), SAVE :: o_lwtoab1940 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     510    'lwtoab1940', 'LW TOA  band 1940cm-1', 'W m-2', (/ ('', i=1, 10) /))
     511  TYPE(ctrl_out), SAVE :: o_lwtoab2165 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     512    'lwtoab2165', 'LW TOA  band 2165cm-1', 'W m-2', (/ ('', i=1, 10) /))
     513  TYPE(ctrl_out), SAVE :: o_lwtoab2315 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     514    'lwtoab2315', 'LW TOA  band 2315cm-1', 'W m-2', (/ ('', i=1, 10) /))
     515  TYPE(ctrl_out), SAVE :: o_lwtoab2490 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     516    'lwtoab2490', 'LW TOA  band 2490cm-1', 'W m-2', (/ ('', i=1, 10) /))
     517  TYPE(ctrl_out), SAVE :: o_lwtoab2800 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     518    'lwtoab2800', 'LW TOA  band 2800cm-1 ', 'W m-2', (/ ('', i=1, 10) /))
     519  TYPE(ctrl_out), SAVE :: o_lwtoabtot = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     520    'lwtoabtot', 'LW TOA  band total', 'W m-2', (/ ('', i=1, 10) /))
     521  TYPE(ctrl_out), SAVE :: o_lwtoa0b = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     522    'lwtoa0b', 'LW TOA CS band ', 'W m-2', (/ ('', i=1, 10) /))
     523  TYPE(ctrl_out), SAVE :: o_lwtoab4co2 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     524    'lwtoab4co2', 'LW TOA  band 4xCO2', 'W m-2', (/ ('', i=1, 10) /))
     525  TYPE(ctrl_out), SAVE :: o_lwtoacsb4co2 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     526    'lwtoacsb4co2', 'LW TOA CS band 4xCO2 CS', 'W m-2', (/ ('', i=1, 10) /))
     527
     528
     529!FC voir si on ajoute le ciel clair 4xco2
     530
    486531  TYPE(ctrl_out), SAVE :: o_LWup200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    487532    'LWup200', 'LWup at 200mb', 'W/m2', (/ ('', i=1, 10) /))
     
    850895!AI Ecrad 3Deffect
    851896#ifdef CPP_ECRAD
     897!FC ajouter les sorties o_lwtoab_s2  pour chaque bande
     898 TYPE(ctrl_out), SAVE :: o_lwtoab_s2 = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
     899    'lwtoab_s2', 'Ecrad LW toab ', '-', (/ ('', i=1, 10) /))
     900 TYPE(ctrl_out), SAVE :: o_lwtoa0b_s2 = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
     901    'lwtoa0b_s2', 'Ecrad LW toa0b ', '-', (/ ('', i=1, 10) /))
     902!FC
     903
    852904  TYPE(ctrl_out), SAVE :: o_ZFLUX_DIR_SUN = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    853905    'ZFLUX_DIR_SUN', 'Direct radiation into a plane perpendicular to the sun', 'W m-2', (/ ('', i=1, 10) /))
  • TabularUnified LMDZ6/trunk/libf/phylmd/phys_output_mod.F90

    r5492 r5677  
    5151    USE vertical_layers_mod, ONLY: ap,bp,preff,presnivs, aps, bps, pseudoalt, presinter
    5252    USE time_phylmdz_mod, ONLY: day_ini, itau_phy, start_time, annee_ref, day_ref
     53
     54    USE AERO_MOD, ONLY : nbands_lw_rrtm !FC
     55
    5356    ! ug Pour les sorties XIOS
    5457    use wxios_mod
     
    155158    REAL, DIMENSION(NSW)            :: spectband  !mean wavenumb. of each sp.band
    156159    REAL, DIMENSION(NSW,2)          :: spbnds_sun !bounds of spectband
     160!FC
     161    INTEGER                         :: ILW
     162    REAL,  DIMENSION(nbands_lw_rrtm)  :: wl1_lw, wl2_lw
    157163
    158164    WRITE(lunout,*) 'Debut phys_output_mod.F90'
    159     ! Initialisations (Valeurs par defaut
     165! Initialisations (Valeurs par defaut
     166!FC
     167       wl1_lw = [ 10., 250., 500., 630., 700., 820., 980.,1080. &
     168     & ,1180.,1390.,1480.,1800.,2080.,2250.,2380.,2600.]
     169       wl2_lw = [250., 500., 630., 700., 820., 980.,1080.,1180. &
     170     & ,1390.,1480.,1800.,2080.,2250.,2380.,2600.,3000.]
     171!         print*, 'avant boucle', nbands_lw_rrtm
     172!        DO ILW=1,nbands_lw_rrtm
     173!        spectbandLW(ILW)= (wl1_lw(ilw) + wl2_lw(ILW) )/2
     174!        print*, 'on a les canaux ? ',ILW,spectbandLW(ILW),wl1_lw(ILW),wl2_lw(ilw)
     175!        enddo
     176!        print*, 'spectbandLW',spectbandLW
     177
     178!FC
     179
    160180
    161181    DO ilev=1,klev
     
    502522          CALL histvert(nid_files(iff), "Alt","Height approx for scale heigh of 8km at levels", "Km", &                       
    503523               levmax(iff) - levmin(iff) + 1,pseudoalt,nvertAlt(iff))
     524!FC
     525!          CALL histvert(nid_files(iff), "spectbandLW"," LW bands ", "cm-1", &
     526!                  nbands_lw_rrtm ,wl1_lw, ncanaux(iff))
     527!          print *, ' apres ncanaux = ' , ncanaux(iff),iff
     528!FC
     529
    504530
    505531          ELSE
  • TabularUnified LMDZ6/trunk/libf/phylmd/phys_output_var_mod.f90

    r5655 r5677  
    105105  INTEGER, DIMENSION(nfiles), SAVE :: nnhorim
    106106  INTEGER, DIMENSION(nfiles), SAVE :: nhorim, nvertm
     107  INTEGER, DIMENSION(nfiles), SAVE :: ncanaux  !FC
     108  !$OMP THREADPRIVATE(ncanaux)
    107109  INTEGER, DIMENSION(nfiles), SAVE :: nvertap, nvertbp, nvertAlt
    108110  REAL, DIMENSION(nfiles), SAVE                :: zoutm
  • TabularUnified LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90

    r5662 r5677  
    247247         o_delta_sst, o_delta_sal, o_ds_ns, o_dt_ns, o_dter, o_dser, o_tkt, &
    248248         o_tks, o_taur, o_sss, &
     249         o_zxfluxt,o_zxfluxq, &
     250         o_lwtoab130, o_lwtoab375 ,o_lwtoab565, o_lwtoab665, &
     251         o_lwtoab760, o_lwtoab900, o_lwtoab1030, o_lwtoab1130, &  ! les 16 canaux FC
     252         o_lwtoab1285, o_lwtoab1435, o_lwtoab1640, o_lwtoab1940, &
     253         o_lwtoab2165, o_lwtoab2315, o_lwtoab2490, o_lwtoab2800, &
     254         o_lwtoabtot, &  !Somme de tous les canaux
     255         o_lwtoa0b, &  ! les 16 canaux FC
     256         o_lwtoab4co2,o_lwtoacsb4co2,                            &   ! les 16 canaux FC
    249257!FC
    250258!GG         o_zxfluxt,o_zxfluxq
    251          o_zxfluxt,o_zxfluxq, &
    252259         o_fcds, o_fcdi, o_dh_basal_growth, o_dh_basal_melt, &
    253260         o_dh_top_melt, o_dh_snow2sic, &
    254261         o_dtice_melt, o_dtice_snow2sic
    255262!GG
     263
    256264
    257265#ifdef CPP_ECRAD
     
    313321         ratqs, entr_therm, zqasc, detr_therm, f0, &
    314322         lwup, lwdn, lwupc0, lwup0, coefm, &
     323         lwtoab, lwtoa0b, &
     324         lwtoabp, lwtoa0bp, &
    315325         swupp, lwupp, swupc0p, swup0p, lwupc0p, lwup0p, swdnp, lwdnp, &
    316326         swdnc0p, swdn0p, lwdnc0p, lwdn0p, tnondef, O3sumSTD, uvsumSTD, &
     
    335345        toplw0_s2,toplw_s2,topsw0_s2,topsw_s2, &
    336346        swup0_s2,swup_s2,swdn_s2,swdn0_s2,sollwdownclr_s2, &
     347        lwtoab_s2, lwtoa0b_s2, &
    337348        sollwdown_s2,lwdn0_s2,lwup_s2,lwdn_s2,lwup0_s2,lwdn0_s2
    338349    USE phys_output_var_mod, ONLY: cloud_cover_sw, &
     
    507518
    508519#ifdef CPP_RRTM
     520    USE YOERAD, ONLY: NLW
     521    USE FREQUENCES_LW_DATA, ONLY: deltanu ,wl1_lw, wl2_lw!FC
    509522    USE YOESW, ONLY : RSUN
    510523#endif
     
    553566    REAL, DIMENSION (klon,klev+1) :: zx_tmp_fi3d1
    554567    REAL, DIMENSION (klon,NSW) :: zx_tmp_fi3dsp
     568    REAL, DIMENSION (klon,16) :: zx_tmp_fi3dsplw  !FC
     569
    555570    CHARACTER (LEN=4)              :: bb2
    556571    INTEGER, DIMENSION(nbp_lon*nbp_lat)  :: ndex2d
     
    974989       CALL histwrite_phy(o_topl, toplw)
    975990       CALL histwrite_phy(o_topl0, toplw0)
     991
     992!FC
     993      IF (vars_defined) THEN
     994                DO i=1, klon
     995             zx_tmp_fi2d(i)=0.
     996          DO ll=1,nlw
     997!             zx_tmp_fi2d(i)=zx_tmp_fi2d(i)+lwtoab(i,ll)*deltanu(ll)
     998             zx_tmp_fi2d(i)=zx_tmp_fi2d(i)+lwtoab(i,ll)
     999          ENDDO
     1000          ENDDO
     1001       ENDIF
     1002       CALL histwrite_phy(o_lwtoabtot, zx_tmp_fi2d)
     1003
     1004   IF (vars_defined) zx_tmp_fi2d=lwtoab(:,1)
     1005!       CALL histwrite_phy(o_lwtoab, zx_tmp_fi3dsplw)
     1006       CALL histwrite_phy(o_lwtoab130, zx_tmp_fi2d)
     1007
     1008       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,2)
     1009       CALL histwrite_phy(o_lwtoab375, zx_tmp_fi2d)
     1010
     1011       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,3)
     1012       CALL histwrite_phy(o_lwtoab565, zx_tmp_fi2d)
     1013
     1014       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,4)
     1015       CALL histwrite_phy(o_lwtoab665, zx_tmp_fi2d)
     1016
     1017       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,5)
     1018       CALL histwrite_phy(o_lwtoab760, zx_tmp_fi2d)
     1019
     1020       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,6)
     1021       CALL histwrite_phy(o_lwtoab900, zx_tmp_fi2d)
     1022
     1023       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,7)
     1024       CALL histwrite_phy(o_lwtoab1030, zx_tmp_fi2d)
     1025
     1026       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,8)
     1027       CALL histwrite_phy(o_lwtoab1130, zx_tmp_fi2d)
     1028
     1029       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,9)
     1030       CALL histwrite_phy(o_lwtoab1285, zx_tmp_fi2d)
     1031
     1032       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,10)
     1033       CALL histwrite_phy(o_lwtoab1435, zx_tmp_fi2d)
     1034
     1035       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,11)
     1036       CALL histwrite_phy(o_lwtoab1640, zx_tmp_fi2d)
     1037
     1038       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,12)
     1039       CALL histwrite_phy(o_lwtoab1940, zx_tmp_fi2d)
     1040
     1041       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,13)
     1042       CALL histwrite_phy(o_lwtoab2165, zx_tmp_fi2d)
     1043
     1044       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,14)
     1045       CALL histwrite_phy(o_lwtoab2315, zx_tmp_fi2d)
     1046
     1047       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,15)
     1048       CALL histwrite_phy(o_lwtoab2490, zx_tmp_fi2d)
     1049
     1050       IF (vars_defined) zx_tmp_fi2d=lwtoab(:,16)
     1051       CALL histwrite_phy(o_lwtoab2800, zx_tmp_fi2d)
     1052
     1053       IF (vars_defined) zx_tmp_fi3dsplw=lwtoa0b
     1054       CALL histwrite_phy(o_lwtoa0b, zx_tmp_fi3dsplw)
     1055
    9761056
    9771057       !AM heterogeneous continental sub-surfaces
  • TabularUnified LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90

    r5662 r5677  
    169169!$OMP THREADPRIVATE(clwcon0th,rnebcon0th)
    170170! radiation outputs
     171!FC
     172      REAL,ALLOCATABLE,SAVE :: lwtoab(:,:), lwtoa0b(:,:)
     173!$OMP THREADPRIVATE(lwtoab,lwtoa0b)
     174      REAL,ALLOCATABLE,SAVE :: lwtoabp(:,:), lwtoa0bp(:,:)
     175!$OMP THREADPRIVATE(lwtoabp,lwtoa0bp)
     176! FC
    171177      REAL,ALLOCATABLE,SAVE :: swdnc0(:,:), swdn0(:,:), swdn(:,:)
    172178!$OMP THREADPRIVATE(swdnc0,swdn0,swdn)
     
    475481      REAL,ALLOCATABLE,SAVE :: swdnc0_s2(:,:), swdn0_s2(:,:), swdn_s2(:,:)
    476482      REAL,ALLOCATABLE,SAVE :: swupc0_s2(:,:), swup0_s2(:,:), swup_s2(:,:)
    477 !$OMP THREADPRIVATE(swdnc0_s2, swdn0_s2, swdn_s2, swupc0_s2, swup0_s2, swup_s2)
     483!$OMP THREADPRIVATE(swdnc0_s2, swdn0_s2, swdn_s2 , swupc0_s2, swup0_s2, swup_s2)
     484!FC
     485      REAL,ALLOCATABLE,SAVE :: lwtoab_s2(:,:), lwtoa0b_s2(:,:)
     486!$OMP THREADPRIVATE(lwtoab_s2,lwtoa0b_s2)
     487
    478488
    479489! pbase : cloud base pressure
     
    686696      ALLOCATE(clwcon0th(klon,klev),rnebcon0th(klon,klev))
    687697! radiation outputs
     698!FC
     699      ALLOCATE(lwtoab(klon,nbands_lw_rrtm), lwtoa0b(klon,nbands_lw_rrtm))
     700      ALLOCATE(lwtoab_s2(klon,nbands_lw_rrtm), lwtoa0b_s2(klon,nbands_lw_rrtm))
     701      ALLOCATE(lwtoabp(klon,nbands_lw_rrtm), lwtoa0bp(klon,nbands_lw_rrtm))
     702!FC
    688703      ALLOCATE(swdnc0(klon,klevp1), swdn0(klon,klevp1), swdn(klon,klevp1))
    689704      ALLOCATE(swupc0(klon,klevp1), swup0(klon,klevp1), swup(klon,klevp1))
     
    925940      DEALLOCATE(clwcon0th, rnebcon0th)
    926941! radiation outputs
     942!FC
     943      DEALLOCATE(lwtoab, lwtoa0b)
     944      DEALLOCATE(lwtoab_s2, lwtoa0b_s2)
     945      DEALLOCATE(lwtoabp, lwtoa0bp)
     946!FC
    927947      DEALLOCATE(swdnc0, swdn0, swdn)
    928948      DEALLOCATE(swupc0, swup0, swup)
  • TabularUnified LMDZ6/trunk/libf/phylmd/physiq_mod.F90

    r5673 r5677  
    46464646               topsw0,toplw0,solsw0,sollw0, &
    46474647               lwdnc0, lwdn0, lwdn, lwupc0, lwup0, lwup,  &
     4648               lwtoa0b, lwtoab , &  !FC
    46484649               swdnc0, swdn0, swdn, swupc0, swup0, swup, &
    46494650               topswad_aero, solswad_aero, &
     
    47254726                     topsw0p,toplw0p,solsw0p,sollw0p, &
    47264727                     lwdnc0p, lwdn0p, lwdnp, lwupc0p, lwup0p, lwupp,  &
     4728                     lwtoa0bp, lwtoabp , &  !FC
    47274729                     swdnc0p, swdn0p, swdnp, swupc0p, swup0p, swupp, &
    47284730                     topswad_aerop, solswad_aerop, &
     
    47724774                     topsw0_s2,toplw0_s2,solsw0_s2,sollw0_s2, &
    47734775                     lwdnc0_s2, lwdn0_s2, lwdn_s2, lwupc0_s2, lwup0_s2, lwup_s2,  &
     4776                     lwtoa0b_s2, lwtoab_s2 , &  !FC
    47744777                     swdnc0_s2, swdn0_s2, swdn_s2, swupc0_s2, swup0_s2, swup_s2, &
    47754778                     topswad_aero_s2, solswad_aero_s2, &
  • TabularUnified LMDZ6/trunk/libf/phylmd/radlwsw_m.F90

    r5670 r5677  
    3131       topsw0,toplw0,solsw0,sollw0,&
    3232       lwdnc0, lwdn0, lwdn, lwupc0, lwup0, lwup,&
     33       lwtoa0b, lwtoab , &                       !FC flux spectraux LW TOA
    3334       swdnc0, swdn0, swdn, swupc0, swup0, swup,&
    3435       topswad_aero, solswad_aero,&
     
    265266    REAL,    INTENT(out) :: lwdn(KLON,kflev+1),lwdn0(KLON,kflev+1), lwdnc0(KLON,kflev+1)
    266267    REAL,    INTENT(out) :: lwup(KLON,kflev+1),lwup0(KLON,kflev+1), lwupc0(KLON,kflev+1)
     268       !FC je remplace NLW par nbands_lw_rrtm qui est defini dans aero_mod peut etre que a ce niveau NLW est attribué?
     269    REAL,    INTENT(out) :: lwtoa0b(KLON,nbands_lw_rrtm), lwtoab(KLON,nbands_lw_rrtm)    !FC flux TOA LW par bandes
     270
    267271    REAL,    INTENT(out) :: topswad_aero(KLON), solswad_aero(KLON)         ! output: aerosol direct forcing at TOA and surface
    268272    REAL,    INTENT(out) :: topswai_aero(KLON), solswai_aero(KLON)         ! output: aerosol indirect forcing atTOA and surface
     
    296300    REAL(KIND=8) ZFLDNC0(KDLON,KFLEV+1)
    297301    REAL(KIND=8) zx_alpha1, zx_alpha2
    298     INTEGER k, kk, i, j, iof, nb_gr
     302    INTEGER k, kk, i, j, iof, nb_gr,jb !FC
    299303    INTEGER ist,iend,ktdia,kmode
    300304    REAL(KIND=8) PSCT
     
    463467    REAL(KIND=8) ZFLUX_i (klon,2,klev+1)
    464468    REAL(KIND=8) ZFLUC_i (klon,2,klev+1)
     469     !FC
     470    !FC je remplace NLW par nbands_lw_rrtm qui est defini dans aero_mod
     471
     472    REAL(KIND=8) ZTOAB_i (klon,nbands_lw_rrtm)
     473    REAL(KIND=8) ZTOACB_i (klon,nbands_lw_rrtm)
     474    !FC
     475
    465476    REAL(KIND=8) ZFSDWN_i (klon,klev+1)
    466477    REAL(KIND=8) ZFCDWN_i (klon,klev+1)
     
    973984               PTAU_LW_TOT, PTAU_LW_NAT,               &  ! rajoute par C. Kleinschmitt
    974985               ZFLUX_i  , ZFLUC_i ,&
     986               ZTOAB_i   , ZTOACB_i, &                    ! FC flux spectraux TOA
    975987               ZFSDWN_i , ZFSUP_i , ZFCDWN_i, ZFCUP_i, ZFCCDWN_i, ZFCCUP_i, ZFLCCDWN_i, ZFLCCUP_i, &
    976988               ZTOPSWADAERO,ZSOLSWADAERO,&  ! rajoute par OB pour diagnostics
     
    11611173             ENDDO
    11621174          ENDDO
     1175                    !FC
     1176          DO i=1,kdlon
     1177          DO jb = 1, nbands_lw_rrtm !FC
     1178          lwtoab(i,jb) = ZTOAB_i(i,jb)
     1179          lwtoa0b(i,jb) = ZTOACB_i(i,jb)
     1180          ENDDO
     1181          ENDDO
     1182
    11631183#else
    11641184          abort_message="You should compile with -rrtm if running with iflag_rrtm=1"
  • TabularUnified LMDZ6/trunk/libf/phylmd/rrtm/parrrtm.F90

    r1990 r5677  
    5454INTEGER(KIND=JPIM), PARAMETER :: NGS15 = 138
    5555
     56INTEGER(KIND=JPIM), PARAMETER, DIMENSION(16) :: GP_PER_LWBAND = (/8,14,16,14,16,8,12,8,12,6,8,8,4,2,2,2/)   !FC
     57
    5658!     ------------------------------------------------------------------
    5759END MODULE PARRRTM
  • TabularUnified LMDZ6/trunk/libf/phylmd/rrtm/radlsw.F90

    r5294 r5677  
    1313 & LRDUST,PPIZA_DST,PCGA_DST,PTAUREL_DST,&
    1414 & PTAU_LW,&
    15  & PFLUX,PFLUC,PFSDN ,PFSUP , PFSCDN , PFSCUP)
     15 & PFLUX,PFLUC,PFSDN ,PFSUP , PFSCDN , PFSCUP,&
     16 & PTOAB, PTOACB )   !FC
    1617
    1718use write_field_phy
     
    7879! PFLUX  : (KLON,2,KLEV+1)   ; LW total sky flux (1=up, 2=down)
    7980! PFLUC  : (KLON,2,KLEV+1)   ; LW clear sky flux (1=up, 2=down)
     81!FC PTOAB : (klon,NLW)           ; LW total sky TOA flux bande
     82!FC PTOACB : (klon,NLW)          ; LW clear sky TOA flux bande
    8083! PFSDN(KLON,KLEV+1)         ; SW total sky flux down
    8184! PFSUP(KLON,KLEV+1)         ; SW total sky flux up
     
    154157USE YOMLUN_IFSAUX , ONLY : NULOUT
    155158USE YOMCT3        , ONLY : NSTEP
     159!FC
     160USE PARRRTM, ONLY : JPGPT, GP_PER_LWBAND, JPBAND
     161
    156162
    157163IMPLICIT NONE
     
    218224REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFLUX(KLON,2,KLEV+1) ! LW total sky flux (1=up, 2=down)
    219225REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFLUC(KLON,2,KLEV+1) ! LW clear sky flux (1=up, 2=down)
     226REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTOAB(klon,NLW)  ! FC LW full sectral bande TOA
     227REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTOACB(klon,NLW) ! FC LW clear spectral TOA
    220228REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFSDN(KLON,KLEV+1)   ! SW total sky flux down
    221229REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFSUP(KLON,KLEV+1)   ! SW total sky flux up
     
    270278 & , ZRAINT(KLON)       , ZRES(KLON)&
    271279 & , ZTICE(KLON)        , ZEMIT(KLON),  ZBICFU(KLON)&
    272  & , ZKICFU(KLON)
     280 & , ZKICFU(KLON)&
     281 & , PTOAG(KLON,JPGPT),PTOACG(KLON,JPGPT) !FC
     282
     283
    273284REAL(KIND=JPRB) :: ZSUDU(KLON)   , ZPARF(KLON)       , ZUVDF(KLON), ZPARCF(KLON)
    274285INTEGER(KIND=JPIM) :: IKL, JK, JKL, JKLP1, JKP1, JL, JNU, JRTM, JSW, INDLAY
     286
     287INTEGER(KIND=JPIM) :: JLW , JI , J1, J2, J  !FC
     288
    275289
    276290REAL(KIND=JPRB) :: ZASYMX, ZDIFFD, ZGI, ZGL, ZGR, ZIWGKG, ZLWGKG,&
     
    318332  PFLUC(JL,1,KLEV+1) = 0.0_JPRB
    319333  PFLUC(JL,2,KLEV+1) = 0.0_JPRB
     334!FC
     335  DO JI = 1, JPGPT
     336  PTOAG(JL,JI) = 0.0_JPRB
     337  PTOACG(JL,JI) = 0.0_JPRB
     338  ENDDO
     339  DO JI = 1, NLW
     340  PTOAB(JL,JI) = 0.0_JPRB
     341  PTOACB(JL,JI) = 0.0_JPRB
     342  ENDDO
     343!FC
     344
    320345  ZFSDNN(JL) = 0.0_JPRB
    321346  ZFSDNV(JL) = 0.0_JPRB
     
    10691094IF (.NOT.LPHYLIN) THEN
    10701095  IF ( .NOT. LRRTM) THEN
     1096           !FC ON EST DANS LE CAS OU NOT.RRTM EST TRUE DONC ON NE PASSE PAS LA
     1097
    10711098
    10721099    CALL LW &
     
    11141141     & ZCLDSW  , ZTAUCLD,&
    11151142     & PTAU_LW,&
    1116      & ZEMIT , PFLUX , PFLUC , ZTCLEAR )
     1143     & ZEMIT , PFLUX , PFLUC , ZTCLEAR,&
     1144     & PTOAG, PTOACG )  !FC
    11171145!   print *,'RADLSW: apres CALL RRTM_RRTM_140GP'
    11181146
     
    12181246ENDDO
    12191247
     1248!FC
     1249  DO JL = KIDIA,KFDIA
     1250    J1 = 1
     1251    J2 = 0
     1252    DO JI = 1, NLW  !NLW=16
     1253      J2 = J2 + GP_PER_LWBAND(JI)
     1254      DO J = J1, J2
     1255      PRINT*, ' J1, J2, J ', J1,J2,J, PTOAB(JL,JI) , PTOAG(JL,J)
     1256        PTOAB(JL,JI) = PTOAB(JL,JI) + PTOAG(JL,J)
     1257!        print*,'FKC', JI,J, PTOAB(JL,JI), PTOAG(JL,J)
     1258        PTOACB(JL,JI) = PTOACB(JL,JI) + PTOACG(JL,J)
     1259      ENDDO
     1260      J1 = J1 + GP_PER_LWBAND(JI)
     1261    ENDDO
     1262  ENDDO
     1263!FC
     1264
    12201265DO JL = KIDIA,KFDIA
    12211266  PFRSOD(JL)=ZFSDWN(JL,1)
  • TabularUnified LMDZ6/trunk/libf/phylmd/rrtm/radlsw.intfb.h

    r5294 r5677  
    1414 & LRDUST,PPIZA_DST,PCGA_DST,PTAUREL_DST,&
    1515 & PTAU_LW,&
    16  & PFLUX,PFLUC,PFSDN ,PFSUP , PFSCDN , PFSCUP)
     16 & PFLUX,PFLUC,PFSDN ,PFSUP , PFSCDN , PFSCUP, &
     17 & PTOAB, PTOACB )  !FC
    1718
    1819USE PARKIND1 ,ONLY : JPIM ,JPRB
     
    8687REAL(KIND=JPRB) ,INTENT(OUT) :: PFSCDN(KLON,KLEV+1)  ! SW clear sky flux down
    8788REAL(KIND=JPRB) ,INTENT(OUT) :: PFSCUP(KLON,KLEV+1)  ! SW clear sky flux up
     89!FC
     90REAL(KIND=JPRB) ,INTENT(OUT) :: PTOAB(KLON,NLW)  ! LW band all sky flux up
     91REAL(KIND=JPRB) ,INTENT(OUT) :: PTOACB(KLON,NLW)  ! LW band clear sky flux up
    8892END SUBROUTINE RADLSW
    8993END INTERFACE
  • TabularUnified LMDZ6/trunk/libf/phylmd/rrtm/recmwf_aero.F90

    r5294 r5677  
    2424     !--end
    2525     & PFLUX,PFLUC,&
     26     & PTOAB  , PTOACB, &  !FC
    2627     & PFSDN ,PFSUP , PFSCDN , PFSCUP, PFSCCDN, PFSCCUP, PFLCCDN, PFLCCUP,&
    2728     !--OB diagnostics
     
    263264  REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFLCCDN(KPROMA,KLEV+1) ! LW clear sky clean (no aerosol) flux down
    264265  REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFLCCUP(KPROMA,KLEV+1) ! LW clear sky clean (no aerosol) flux up
     266  REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTOACB(KPROMA,NLW)  ! FC LW clear sky bandes
     267  REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTOAB(KPROMA,NLW)   ! FC LW all sky bandes
    265268  !--ajout VOLMIP
    266269  REAL(KIND=JPRB)   ,INTENT(OUT)   :: volmip_solsw(KPROMA) ! SW clear sky in the case of VOLMIP
     
    496499             & PSFSWDIF,PFSDNN, PFSDNV  ,& 
    497500             & LRDUST,PPIZA_NAT,PCGA_NAT,PTAU_NAT,PTAU_LW_NAT,PFLUX,PFLUC,&
    498              & PFSDN , PFSUP  , PFSCDN  , PFSCUP )
     501             & PFSDN , PFSUP  , PFSCDN  , PFSCUP ,&
     502             & PTOAB, PTOACB  )   !FC
    499503
    500504        !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
     
    536540             & PSFSWDIF,PFSDNN, PFSDNV  ,& 
    537541             & LRDUST,PPIZA_NAT,PCGA_NAT,PTAU_NAT,PTAU_LW_NAT,PFLUX,PFLUC,&
    538              & PFSDN , PFSUP  , PFSCDN  , PFSCUP )
     542             & PFSDN , PFSUP  , PFSCDN  , PFSCUP , &
     543             & PTOAB,  PTOACB )  !FC
    539544
    540545        !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
     
    576581             & PSFSWDIF,PFSDNN, PFSDNV  ,& 
    577582             & LRDUST,PPIZA_TOT,PCGA_TOT,PTAU_TOT,PTAU_LW_TOT,PFLUX,PFLUC,&
    578              & PFSDN , PFSUP  , PFSCDN  , PFSCUP )
     583             & PFSDN , PFSUP  , PFSCDN  , PFSCUP ,&
     584             & PTOAB,  PTOACB )   !FC
    579585
    580586        !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
     
    615621             & PSFSWDIF,PFSDNN, PFSDNV  ,& 
    616622             & LRDUST,PPIZA_TOT,PCGA_TOT,PTAU_TOT,PTAU_LW_TOT,PFLUX,PFLUC,&
    617              & PFSDN , PFSUP  , PFSCDN  , PFSCUP )
     623             & PFSDN , PFSUP  , PFSCDN  , PFSCUP , &
     624             & PTOAB, PTOACB )   !FC
    618625
    619626        !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
     
    656663          & PSFSWDIF,PFSDNN, PFSDNV  ,& 
    657664          & LRDUST,PPIZA_ZERO,PCGA_ZERO,PTAU_ZERO, PTAU_LW_ZERO,PFLUX,PFLUC,&
    658           & PFSDN , PFSUP  , PFSCDN  , PFSCUP )
     665          & PFSDN , PFSUP  , PFSCDN  , PFSCUP , &
     666          & PTOAB, PTOACB )   !FC
    659667
    660668     !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4
  • TabularUnified LMDZ6/trunk/libf/phylmd/rrtm/rrtm_rrtm_140gp.F90

    r2146 r5677  
    4141 & PCLDF , PTAUCLD,&
    4242 & PTAU_LW,&
    43  & PEMIT , PFLUX , PFLUC, PTCLEAR &
    44  &
     43 & PEMIT , PFLUX , PFLUC, PTCLEAR, &
     44 & PTOAG, PTOACG) !FC
    4545
    4646! *** This program is the driver for RRTM, the AER rapid model. 
     
    8888REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFLUC(KLON,2,KLEV+1) ! LW clear sky flux (1=up, 2=down)
    8989REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTCLEAR(KLON) ! clear-sky fraction of column
     90
     91REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTOAG(KLON,JPGPT) ! full-sky TOA G !FC
     92REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTOACG(KLON,JPGPT) ! clear-sky TOA G !FC
     93
    9094INTEGER(KIND=JPIM) :: ICLDLYR(JPLAY)        ! Cloud indicator
    9195REAL(KIND=JPRB) :: Z_CLDFRAC(JPLAY)           ! Cloud fraction
     
    116120REAL(KIND=JPRB) :: Z_TOTUFLUX(0:JPLAY)
    117121
    118 INTEGER(KIND=JPIM) :: i, icld, iplon, I_K
     122REAL(KIND=JPRB) :: Z_TOAG(JPGPT) !FC
     123REAL(KIND=JPRB) :: Z_TOACG(JPGPT) !FC
     124
     125
     126INTEGER(KIND=JPIM) :: i, icld, iplon, I_K ,JI !FC
    119127INTEGER(KIND=JPIM) :: ISTART
    120128INTEGER(KIND=JPIM) :: IEND
     
    253261!  Clear radiative transfer is done for clear layers and cloudy radiative
    254262!  transfer is done for cloudy layers as identified by icldlyr.
     263!FC
    255264
    256265  CALL RRTM_RTRN1A_140GP (KLEV,ISTART,IEND,ICLDLYR,Z_CLDFRAC,Z_TAUCLD,Z_ABSS1,&
    257266   & Z_OD,Z_TAUSF1,Z_CLFNET,Z_CLHTR,Z_FNET,Z_HTR,Z_TOTDFLUC,Z_TOTDFLUX,Z_TOTUFLUC,Z_TOTUFLUX,&
     267   & Z_TOAG, Z_TOACG,&   
    258268   & Z_TAVEL,Z_PZ,Z_TZ,Z_TBOUND,Z_PFRAC,Z_SEMISS,Z_SEMISLW,IREFLECT) 
    259269
     
    270280    PFLUX(iplon,2,i+1) = -Z_TOTDFLUX(i)*Z_FLUXFAC
    271281  ENDDO
     282!FC
     283  DO JI = 1, JPGPT
     284   PTOAG(iplon,JI) = Z_TOAG(JI)*Z_FLUXFAC !FC faire attention aux niveaux (i+1 et i)
     285   PTOACG(iplon,JI) = Z_TOACG(JI)*Z_FLUXFAC
     286  ENDDO
     287!FC
    272288ENDDO
    273289
  • TabularUnified LMDZ6/trunk/libf/phylmd/rrtm/rrtm_rrtm_140gp.intfb.h

    r5294 r5677  
    88 & PCLDF , PTAUCLD,&
    99 & PTAU_LW,&
    10  & PEMIT , PFLUX , PFLUC, PTCLEAR )
     10 & PEMIT , PFLUX , PFLUC, PTCLEAR, &
     11 &  PTOAG, PTOACG )  !FC
    1112USE PARKIND1 ,ONLY : JPIM ,JPRB
    1213USE YOERAD   ,ONLY : NLW !--C.Kleinschmitt
     
    4041REAL(KIND=JPRB) ,INTENT(OUT) :: PFLUX(KLON,2,KLEV+1)
    4142REAL(KIND=JPRB) ,INTENT(OUT) :: PFLUC(KLON,2,KLEV+1)
     43REAL(KIND=JPRB) ,INTENT(OUT) :: PTOAG(KLON,JPGPT) !FC
     44REAL(KIND=JPRB) ,INTENT(OUT) :: PTOACG(KLON,JPGPT) !FC
    4245REAL(KIND=JPRB) ,INTENT(OUT) :: PTCLEAR(KLON)
    4346END SUBROUTINE RRTM_RRTM_140GP
  • TabularUnified LMDZ6/trunk/libf/phylmd/rrtm/rrtm_rtrn1a_140gp.F90

    r2462 r5677  
    11SUBROUTINE RRTM_RTRN1A_140GP (KLEV,K_ISTART,K_IEND,K_ICLDLYR,P_CLDFRAC,P_TAUCLD,P_ABSS1,&
    22 & P_OD,P_TAUSF1,P_CLFNET,P_CLHTR,P_FNET,P_HTR,P_TOTDFLUC,P_TOTDFLUX,P_TOTUFLUC,P_TOTUFLUX,&
     3 & P_TOAG, P_TOACG ,&
    34 & P_TAVEL,PZ,P_TZ,P_TBOUND,PFRAC,P_SEMISS,P_SEMISLW,K_IREFLECT) 
    4 
     5!FC
    56!     Reformatted for F90 by JJMorcrette, ECMWF, 980714
    67!     Speed-up by D.Salmond, ECMWF, 9907
     
    5051REAL(KIND=JPRB)   ,INTENT(OUT)   :: P_TOTUFLUC(0:JPLAY)
    5152REAL(KIND=JPRB)   ,INTENT(OUT)   :: P_TOTUFLUX(0:JPLAY)
     53
     54REAL(KIND=JPRB)   ,INTENT(OUT)   :: P_TOAG(JPGPT) !FC
     55REAL(KIND=JPRB)   ,INTENT(OUT)   :: P_TOACG(JPGPT) !FC
     56
    5257REAL(KIND=JPRB)   ,INTENT(IN)    :: P_TAVEL(JPLAY)
    5358REAL(KIND=JPRB)                  :: PZ(0:JPLAY) ! Argument NOT used
     
    5762REAL(KIND=JPRB)   ,INTENT(IN)    :: P_SEMISS(JPBAND)
    5863REAL(KIND=JPRB)   ,INTENT(OUT)   :: P_SEMISLW
     64
     65REAL(KIND=JPRB)      :: P_UFLUX(0:JPLAY,JPGPT) !FC DUMMY A CAUSE ORDRE BOUCLE
     66REAL(KIND=JPRB)      :: P_UFLUC(0:JPLAY,JPGPT) !FC DUMMY A CAUSE ORDRE BOUCLE
     67
    5968INTEGER(KIND=JPIM)               :: K_IREFLECT ! Argument NOT used
    6069!- from PROFILE             
     
    219228  P_TOTUFLUX(I_LAY) = 0.0_JPRB
    220229  P_TOTDFLUX(I_LAY) = 0.0_JPRB
     230!FC
     231  DO IPR=1,JPGPT
     232  P_UFLUX(I_LAY,IPR) = 0.0_JPRB
     233  P_UFLUC(I_LAY,IPR) = 0.0_JPRB
     234  ENDDO
     235!FC
     236
    221237!-start JJM_000511
    222238  IF (P_TZ(I_LAY) < 339._JPRB .AND. P_TZ(I_LAY) >= 160._JPRB ) THEN
     
    762778  Z_RADLU1(IPR) = Z_RADUEMIT(IPR) + (1.0_JPRB - Z_SEMIS(IPR)) * Z_RADD
    763779  Z_URAD1 = Z_URAD1 + Z_RADLU1(IPR)
     780!FC
     781  P_UFLUC(0,IPR)=Z_WTNUM(1) * Z_RADCLRU1(IPR)
     782  P_UFLUX(0,IPR)=Z_WTNUM(1) * Z_RADLU1(IPR)
     783!FC
    764784ENDDO
    765785P_TOTUFLUC(0) = Z_URADCL1 * 0.5_JPRB
     
    866886  P_TOTUFLUX(I_LEV) = Z_URAD1   * Z_WTNUM(1)
    867887
    868 ENDDO
     888!FC
     889   DO IPR=1,JPGPT
     890      P_UFLUC(I_LEV,IPR) = Z_WTNUM(1) * Z_RADCLRU1(IPR)
     891      P_UFLUX(I_LEV,IPR) = Z_WTNUM(1) * Z_RADLU1(IPR)
     892    ENDDO
     893!FC
     894
     895ENDDO ! boucle sur les niveaux FC
     896!FC
     897    DO IPR=1,JPGPT
     898    P_TOACG(IPR)= P_UFLUC(KLEV,IPR)  ! verifier que klev correspond au sommet de l atm
     899    P_TOAG(IPR)= P_UFLUX(KLEV,IPR)
     900!    print*, ' EXPLIQUER IPR, P_UFLUX(KLEV,IPR), P_UFLUX(1,IPR)',IPR, P_UFLUX(KLEV,IPR), P_UFLUX(1,IPR)
     901    ENDDO
     902!FC
     903
    869904
    870905!* Convert radiances to fluxes and heating rates for total and clear sky.
  • TabularUnified LMDZ6/trunk/libf/phylmd/rrtm/rrtm_rtrn1a_140gp.intfb.h

    r1990 r5677  
    22SUBROUTINE RRTM_RTRN1A_140GP (KLEV,K_ISTART,K_IEND,K_ICLDLYR,P_CLDFRAC,P_TAUCLD,P_ABSS1,&
    33 & P_OD,P_TAUSF1,P_CLFNET,P_CLHTR,P_FNET,P_HTR,P_TOTDFLUC,P_TOTDFLUX,P_TOTUFLUC,P_TOTUFLUX,&
     4 & P_TOAG, P_TOACG, &
    45 & P_TAVEL,PZ,P_TZ,P_TBOUND,PFRAC,P_SEMISS,P_SEMISLW,K_IREFLECT)
    56USE PARKIND1 ,ONLY : JPIM ,JPRB
     
    2223REAL(KIND=JPRB) ,INTENT(OUT) :: P_TOTUFLUC(0:JPLAY)
    2324REAL(KIND=JPRB) ,INTENT(OUT) :: P_TOTUFLUX(0:JPLAY)
     25REAL(KIND=JPRB) ,INTENT(OUT) :: P_TOAG(JPGPT) !FC
     26REAL(KIND=JPRB) ,INTENT(OUT) :: P_TOACG(JPGPT) !FC
    2427REAL(KIND=JPRB) ,INTENT(IN) :: P_TAVEL(JPLAY)
    2528REAL(KIND=JPRB) :: PZ(0:JPLAY)
Note: See TracChangeset for help on using the changeset viewer.