Changeset 5677 for LMDZ6/trunk
- Timestamp:
- May 23, 2025, 5:29:18 PM (6 weeks ago)
- Location:
- LMDZ6/trunk
- Files:
-
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified LMDZ6/trunk/DefLists/field_def_lmdz.xml ¶
r5662 r5677 663 663 </field_group> 664 664 <!-- 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> 666 688 667 689 <field_group id="fields_3D" grid_ref="grid_glo_presnivs" > -
TabularUnified LMDZ6/trunk/DefLists/file_def_histLES_lmdz.xml ¶
r5507 r5677 78 78 <field field_ref="tops0" level="10" /> 79 79 <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" /> 80 97 <field field_ref="topl0" level="10" /> 81 98 <field field_ref="SWupTOA" level="10" /> -
TabularUnified LMDZ6/trunk/DefLists/file_def_histday_lmdz.xml ¶
r5662 r5677 89 89 <field field_ref="tops0" level="5" /> 90 90 <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" /> 91 109 <field field_ref="topl0" level="5" /> 92 110 <field field_ref="SWupTOA" level="4" /> -
TabularUnified LMDZ6/trunk/DefLists/file_def_histhf_lmdz.xml ¶
r5662 r5677 93 93 <field field_ref="tops0" level="10" /> 94 94 <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" /> 95 112 <field field_ref="topl0" level="10" /> 96 113 <field field_ref="SWupTOA" level="10" /> -
TabularUnified LMDZ6/trunk/DefLists/file_def_histins_lmdz.xml ¶
r5662 r5677 89 89 <field field_ref="tops0" level="10" /> 90 90 <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" /> 91 108 <field field_ref="topl0" level="10" /> 92 109 <field field_ref="SWupTOA" level="10" /> -
TabularUnified LMDZ6/trunk/DefLists/file_def_histmth_lmdz.xml ¶
r5662 r5677 123 123 <field field_ref="tops0" level="1" /> 124 124 <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" /> 125 142 <field field_ref="topl0" level="1" /> 126 143 <field field_ref="SWupTOA" level="1" /> -
TabularUnified LMDZ6/trunk/libf/phylmd/iophy.F90 ¶
r5582 r5677 535 535 USE phys_output_var_mod, ONLY: type_ecri, zoutm, lev_files, nid_files, & 536 536 nhorim, zdtime_moy, levmin, levmax, & 537 nvertm, nfiles 537 nvertm, nfiles , ncanaux !FC 538 538 USE mod_grid_phy_lmdz, ONLY : nbp_lon, nbp_lat 539 539 USE print_control_mod, ONLY: prt_level,lunout … … 701 701 clef_stations, phys_out_filenames, lev_files, & 702 702 nid_files, nhorim, swaerofree_diag, levmin, & 703 levmax, nvertm 703 levmax, nvertm, ncanaux !FC 704 704 USE print_control_mod, ONLY: prt_level,lunout 705 705 USE mod_grid_phy_lmdz, ONLY : nbp_lon, nbp_lat -
TabularUnified LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90 ¶
r5662 r5677 484 484 ! type(ctrl_out),save :: o_LWdnTOAclr = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'LWdnTOAclr', & 485 485 ! (/ ('', 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 486 531 TYPE(ctrl_out), SAVE :: o_LWup200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), & 487 532 'LWup200', 'LWup at 200mb', 'W/m2', (/ ('', i=1, 10) /)) … … 850 895 !AI Ecrad 3Deffect 851 896 #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 852 904 TYPE(ctrl_out), SAVE :: o_ZFLUX_DIR_SUN = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), & 853 905 '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 51 51 USE vertical_layers_mod, ONLY: ap,bp,preff,presnivs, aps, bps, pseudoalt, presinter 52 52 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 53 56 ! ug Pour les sorties XIOS 54 57 use wxios_mod … … 155 158 REAL, DIMENSION(NSW) :: spectband !mean wavenumb. of each sp.band 156 159 REAL, DIMENSION(NSW,2) :: spbnds_sun !bounds of spectband 160 !FC 161 INTEGER :: ILW 162 REAL, DIMENSION(nbands_lw_rrtm) :: wl1_lw, wl2_lw 157 163 158 164 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 160 180 161 181 DO ilev=1,klev … … 502 522 CALL histvert(nid_files(iff), "Alt","Height approx for scale heigh of 8km at levels", "Km", & 503 523 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 504 530 505 531 ELSE -
TabularUnified LMDZ6/trunk/libf/phylmd/phys_output_var_mod.f90 ¶
r5655 r5677 105 105 INTEGER, DIMENSION(nfiles), SAVE :: nnhorim 106 106 INTEGER, DIMENSION(nfiles), SAVE :: nhorim, nvertm 107 INTEGER, DIMENSION(nfiles), SAVE :: ncanaux !FC 108 !$OMP THREADPRIVATE(ncanaux) 107 109 INTEGER, DIMENSION(nfiles), SAVE :: nvertap, nvertbp, nvertAlt 108 110 REAL, DIMENSION(nfiles), SAVE :: zoutm -
TabularUnified LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90 ¶
r5662 r5677 247 247 o_delta_sst, o_delta_sal, o_ds_ns, o_dt_ns, o_dter, o_dser, o_tkt, & 248 248 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 249 257 !FC 250 258 !GG o_zxfluxt,o_zxfluxq 251 o_zxfluxt,o_zxfluxq, &252 259 o_fcds, o_fcdi, o_dh_basal_growth, o_dh_basal_melt, & 253 260 o_dh_top_melt, o_dh_snow2sic, & 254 261 o_dtice_melt, o_dtice_snow2sic 255 262 !GG 263 256 264 257 265 #ifdef CPP_ECRAD … … 313 321 ratqs, entr_therm, zqasc, detr_therm, f0, & 314 322 lwup, lwdn, lwupc0, lwup0, coefm, & 323 lwtoab, lwtoa0b, & 324 lwtoabp, lwtoa0bp, & 315 325 swupp, lwupp, swupc0p, swup0p, lwupc0p, lwup0p, swdnp, lwdnp, & 316 326 swdnc0p, swdn0p, lwdnc0p, lwdn0p, tnondef, O3sumSTD, uvsumSTD, & … … 335 345 toplw0_s2,toplw_s2,topsw0_s2,topsw_s2, & 336 346 swup0_s2,swup_s2,swdn_s2,swdn0_s2,sollwdownclr_s2, & 347 lwtoab_s2, lwtoa0b_s2, & 337 348 sollwdown_s2,lwdn0_s2,lwup_s2,lwdn_s2,lwup0_s2,lwdn0_s2 338 349 USE phys_output_var_mod, ONLY: cloud_cover_sw, & … … 507 518 508 519 #ifdef CPP_RRTM 520 USE YOERAD, ONLY: NLW 521 USE FREQUENCES_LW_DATA, ONLY: deltanu ,wl1_lw, wl2_lw!FC 509 522 USE YOESW, ONLY : RSUN 510 523 #endif … … 553 566 REAL, DIMENSION (klon,klev+1) :: zx_tmp_fi3d1 554 567 REAL, DIMENSION (klon,NSW) :: zx_tmp_fi3dsp 568 REAL, DIMENSION (klon,16) :: zx_tmp_fi3dsplw !FC 569 555 570 CHARACTER (LEN=4) :: bb2 556 571 INTEGER, DIMENSION(nbp_lon*nbp_lat) :: ndex2d … … 974 989 CALL histwrite_phy(o_topl, toplw) 975 990 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 976 1056 977 1057 !AM heterogeneous continental sub-surfaces -
TabularUnified LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90 ¶
r5662 r5677 169 169 !$OMP THREADPRIVATE(clwcon0th,rnebcon0th) 170 170 ! 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 171 177 REAL,ALLOCATABLE,SAVE :: swdnc0(:,:), swdn0(:,:), swdn(:,:) 172 178 !$OMP THREADPRIVATE(swdnc0,swdn0,swdn) … … 475 481 REAL,ALLOCATABLE,SAVE :: swdnc0_s2(:,:), swdn0_s2(:,:), swdn_s2(:,:) 476 482 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 478 488 479 489 ! pbase : cloud base pressure … … 686 696 ALLOCATE(clwcon0th(klon,klev),rnebcon0th(klon,klev)) 687 697 ! 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 688 703 ALLOCATE(swdnc0(klon,klevp1), swdn0(klon,klevp1), swdn(klon,klevp1)) 689 704 ALLOCATE(swupc0(klon,klevp1), swup0(klon,klevp1), swup(klon,klevp1)) … … 925 940 DEALLOCATE(clwcon0th, rnebcon0th) 926 941 ! radiation outputs 942 !FC 943 DEALLOCATE(lwtoab, lwtoa0b) 944 DEALLOCATE(lwtoab_s2, lwtoa0b_s2) 945 DEALLOCATE(lwtoabp, lwtoa0bp) 946 !FC 927 947 DEALLOCATE(swdnc0, swdn0, swdn) 928 948 DEALLOCATE(swupc0, swup0, swup) -
TabularUnified LMDZ6/trunk/libf/phylmd/physiq_mod.F90 ¶
r5673 r5677 4646 4646 topsw0,toplw0,solsw0,sollw0, & 4647 4647 lwdnc0, lwdn0, lwdn, lwupc0, lwup0, lwup, & 4648 lwtoa0b, lwtoab , & !FC 4648 4649 swdnc0, swdn0, swdn, swupc0, swup0, swup, & 4649 4650 topswad_aero, solswad_aero, & … … 4725 4726 topsw0p,toplw0p,solsw0p,sollw0p, & 4726 4727 lwdnc0p, lwdn0p, lwdnp, lwupc0p, lwup0p, lwupp, & 4728 lwtoa0bp, lwtoabp , & !FC 4727 4729 swdnc0p, swdn0p, swdnp, swupc0p, swup0p, swupp, & 4728 4730 topswad_aerop, solswad_aerop, & … … 4772 4774 topsw0_s2,toplw0_s2,solsw0_s2,sollw0_s2, & 4773 4775 lwdnc0_s2, lwdn0_s2, lwdn_s2, lwupc0_s2, lwup0_s2, lwup_s2, & 4776 lwtoa0b_s2, lwtoab_s2 , & !FC 4774 4777 swdnc0_s2, swdn0_s2, swdn_s2, swupc0_s2, swup0_s2, swup_s2, & 4775 4778 topswad_aero_s2, solswad_aero_s2, & -
TabularUnified LMDZ6/trunk/libf/phylmd/radlwsw_m.F90 ¶
r5670 r5677 31 31 topsw0,toplw0,solsw0,sollw0,& 32 32 lwdnc0, lwdn0, lwdn, lwupc0, lwup0, lwup,& 33 lwtoa0b, lwtoab , & !FC flux spectraux LW TOA 33 34 swdnc0, swdn0, swdn, swupc0, swup0, swup,& 34 35 topswad_aero, solswad_aero,& … … 265 266 REAL, INTENT(out) :: lwdn(KLON,kflev+1),lwdn0(KLON,kflev+1), lwdnc0(KLON,kflev+1) 266 267 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 267 271 REAL, INTENT(out) :: topswad_aero(KLON), solswad_aero(KLON) ! output: aerosol direct forcing at TOA and surface 268 272 REAL, INTENT(out) :: topswai_aero(KLON), solswai_aero(KLON) ! output: aerosol indirect forcing atTOA and surface … … 296 300 REAL(KIND=8) ZFLDNC0(KDLON,KFLEV+1) 297 301 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 299 303 INTEGER ist,iend,ktdia,kmode 300 304 REAL(KIND=8) PSCT … … 463 467 REAL(KIND=8) ZFLUX_i (klon,2,klev+1) 464 468 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 465 476 REAL(KIND=8) ZFSDWN_i (klon,klev+1) 466 477 REAL(KIND=8) ZFCDWN_i (klon,klev+1) … … 973 984 PTAU_LW_TOT, PTAU_LW_NAT, & ! rajoute par C. Kleinschmitt 974 985 ZFLUX_i , ZFLUC_i ,& 986 ZTOAB_i , ZTOACB_i, & ! FC flux spectraux TOA 975 987 ZFSDWN_i , ZFSUP_i , ZFCDWN_i, ZFCUP_i, ZFCCDWN_i, ZFCCUP_i, ZFLCCDWN_i, ZFLCCUP_i, & 976 988 ZTOPSWADAERO,ZSOLSWADAERO,& ! rajoute par OB pour diagnostics … … 1161 1173 ENDDO 1162 1174 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 1163 1183 #else 1164 1184 abort_message="You should compile with -rrtm if running with iflag_rrtm=1" -
TabularUnified LMDZ6/trunk/libf/phylmd/rrtm/parrrtm.F90 ¶
r1990 r5677 54 54 INTEGER(KIND=JPIM), PARAMETER :: NGS15 = 138 55 55 56 INTEGER(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 56 58 ! ------------------------------------------------------------------ 57 59 END MODULE PARRRTM -
TabularUnified LMDZ6/trunk/libf/phylmd/rrtm/radlsw.F90 ¶
r5294 r5677 13 13 & LRDUST,PPIZA_DST,PCGA_DST,PTAUREL_DST,& 14 14 & PTAU_LW,& 15 & PFLUX,PFLUC,PFSDN ,PFSUP , PFSCDN , PFSCUP) 15 & PFLUX,PFLUC,PFSDN ,PFSUP , PFSCDN , PFSCUP,& 16 & PTOAB, PTOACB ) !FC 16 17 17 18 use write_field_phy … … 78 79 ! PFLUX : (KLON,2,KLEV+1) ; LW total sky flux (1=up, 2=down) 79 80 ! 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 80 83 ! PFSDN(KLON,KLEV+1) ; SW total sky flux down 81 84 ! PFSUP(KLON,KLEV+1) ; SW total sky flux up … … 154 157 USE YOMLUN_IFSAUX , ONLY : NULOUT 155 158 USE YOMCT3 , ONLY : NSTEP 159 !FC 160 USE PARRRTM, ONLY : JPGPT, GP_PER_LWBAND, JPBAND 161 156 162 157 163 IMPLICIT NONE … … 218 224 REAL(KIND=JPRB) ,INTENT(OUT) :: PFLUX(KLON,2,KLEV+1) ! LW total sky flux (1=up, 2=down) 219 225 REAL(KIND=JPRB) ,INTENT(OUT) :: PFLUC(KLON,2,KLEV+1) ! LW clear sky flux (1=up, 2=down) 226 REAL(KIND=JPRB) ,INTENT(OUT) :: PTOAB(klon,NLW) ! FC LW full sectral bande TOA 227 REAL(KIND=JPRB) ,INTENT(OUT) :: PTOACB(klon,NLW) ! FC LW clear spectral TOA 220 228 REAL(KIND=JPRB) ,INTENT(OUT) :: PFSDN(KLON,KLEV+1) ! SW total sky flux down 221 229 REAL(KIND=JPRB) ,INTENT(OUT) :: PFSUP(KLON,KLEV+1) ! SW total sky flux up … … 270 278 & , ZRAINT(KLON) , ZRES(KLON)& 271 279 & , ZTICE(KLON) , ZEMIT(KLON), ZBICFU(KLON)& 272 & , ZKICFU(KLON) 280 & , ZKICFU(KLON)& 281 & , PTOAG(KLON,JPGPT),PTOACG(KLON,JPGPT) !FC 282 283 273 284 REAL(KIND=JPRB) :: ZSUDU(KLON) , ZPARF(KLON) , ZUVDF(KLON), ZPARCF(KLON) 274 285 INTEGER(KIND=JPIM) :: IKL, JK, JKL, JKLP1, JKP1, JL, JNU, JRTM, JSW, INDLAY 286 287 INTEGER(KIND=JPIM) :: JLW , JI , J1, J2, J !FC 288 275 289 276 290 REAL(KIND=JPRB) :: ZASYMX, ZDIFFD, ZGI, ZGL, ZGR, ZIWGKG, ZLWGKG,& … … 318 332 PFLUC(JL,1,KLEV+1) = 0.0_JPRB 319 333 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 320 345 ZFSDNN(JL) = 0.0_JPRB 321 346 ZFSDNV(JL) = 0.0_JPRB … … 1069 1094 IF (.NOT.LPHYLIN) THEN 1070 1095 IF ( .NOT. LRRTM) THEN 1096 !FC ON EST DANS LE CAS OU NOT.RRTM EST TRUE DONC ON NE PASSE PAS LA 1097 1071 1098 1072 1099 CALL LW & … … 1114 1141 & ZCLDSW , ZTAUCLD,& 1115 1142 & PTAU_LW,& 1116 & ZEMIT , PFLUX , PFLUC , ZTCLEAR ) 1143 & ZEMIT , PFLUX , PFLUC , ZTCLEAR,& 1144 & PTOAG, PTOACG ) !FC 1117 1145 ! print *,'RADLSW: apres CALL RRTM_RRTM_140GP' 1118 1146 … … 1218 1246 ENDDO 1219 1247 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 1220 1265 DO JL = KIDIA,KFDIA 1221 1266 PFRSOD(JL)=ZFSDWN(JL,1) -
TabularUnified LMDZ6/trunk/libf/phylmd/rrtm/radlsw.intfb.h ¶
r5294 r5677 14 14 & LRDUST,PPIZA_DST,PCGA_DST,PTAUREL_DST,& 15 15 & PTAU_LW,& 16 & PFLUX,PFLUC,PFSDN ,PFSUP , PFSCDN , PFSCUP) 16 & PFLUX,PFLUC,PFSDN ,PFSUP , PFSCDN , PFSCUP, & 17 & PTOAB, PTOACB ) !FC 17 18 18 19 USE PARKIND1 ,ONLY : JPIM ,JPRB … … 86 87 REAL(KIND=JPRB) ,INTENT(OUT) :: PFSCDN(KLON,KLEV+1) ! SW clear sky flux down 87 88 REAL(KIND=JPRB) ,INTENT(OUT) :: PFSCUP(KLON,KLEV+1) ! SW clear sky flux up 89 !FC 90 REAL(KIND=JPRB) ,INTENT(OUT) :: PTOAB(KLON,NLW) ! LW band all sky flux up 91 REAL(KIND=JPRB) ,INTENT(OUT) :: PTOACB(KLON,NLW) ! LW band clear sky flux up 88 92 END SUBROUTINE RADLSW 89 93 END INTERFACE -
TabularUnified LMDZ6/trunk/libf/phylmd/rrtm/recmwf_aero.F90 ¶
r5294 r5677 24 24 !--end 25 25 & PFLUX,PFLUC,& 26 & PTOAB , PTOACB, & !FC 26 27 & PFSDN ,PFSUP , PFSCDN , PFSCUP, PFSCCDN, PFSCCUP, PFLCCDN, PFLCCUP,& 27 28 !--OB diagnostics … … 263 264 REAL(KIND=JPRB) ,INTENT(OUT) :: PFLCCDN(KPROMA,KLEV+1) ! LW clear sky clean (no aerosol) flux down 264 265 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 265 268 !--ajout VOLMIP 266 269 REAL(KIND=JPRB) ,INTENT(OUT) :: volmip_solsw(KPROMA) ! SW clear sky in the case of VOLMIP … … 496 499 & PSFSWDIF,PFSDNN, PFSDNV ,& 497 500 & 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 499 503 500 504 !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4 … … 536 540 & PSFSWDIF,PFSDNN, PFSDNV ,& 537 541 & 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 539 544 540 545 !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4 … … 576 581 & PSFSWDIF,PFSDNN, PFSDNV ,& 577 582 & 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 579 585 580 586 !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4 … … 615 621 & PSFSWDIF,PFSDNN, PFSDNV ,& 616 622 & 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 618 625 619 626 !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4 … … 656 663 & PSFSWDIF,PFSDNN, PFSDNV ,& 657 664 & 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 659 667 660 668 !* SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4 -
TabularUnified LMDZ6/trunk/libf/phylmd/rrtm/rrtm_rrtm_140gp.F90 ¶
r2146 r5677 41 41 & PCLDF , PTAUCLD,& 42 42 & PTAU_LW,& 43 & PEMIT , PFLUX , PFLUC, PTCLEAR &44 & )43 & PEMIT , PFLUX , PFLUC, PTCLEAR, & 44 & PTOAG, PTOACG) !FC 45 45 46 46 ! *** This program is the driver for RRTM, the AER rapid model. … … 88 88 REAL(KIND=JPRB) ,INTENT(OUT) :: PFLUC(KLON,2,KLEV+1) ! LW clear sky flux (1=up, 2=down) 89 89 REAL(KIND=JPRB) ,INTENT(OUT) :: PTCLEAR(KLON) ! clear-sky fraction of column 90 91 REAL(KIND=JPRB) ,INTENT(OUT) :: PTOAG(KLON,JPGPT) ! full-sky TOA G !FC 92 REAL(KIND=JPRB) ,INTENT(OUT) :: PTOACG(KLON,JPGPT) ! clear-sky TOA G !FC 93 90 94 INTEGER(KIND=JPIM) :: ICLDLYR(JPLAY) ! Cloud indicator 91 95 REAL(KIND=JPRB) :: Z_CLDFRAC(JPLAY) ! Cloud fraction … … 116 120 REAL(KIND=JPRB) :: Z_TOTUFLUX(0:JPLAY) 117 121 118 INTEGER(KIND=JPIM) :: i, icld, iplon, I_K 122 REAL(KIND=JPRB) :: Z_TOAG(JPGPT) !FC 123 REAL(KIND=JPRB) :: Z_TOACG(JPGPT) !FC 124 125 126 INTEGER(KIND=JPIM) :: i, icld, iplon, I_K ,JI !FC 119 127 INTEGER(KIND=JPIM) :: ISTART 120 128 INTEGER(KIND=JPIM) :: IEND … … 253 261 ! Clear radiative transfer is done for clear layers and cloudy radiative 254 262 ! transfer is done for cloudy layers as identified by icldlyr. 263 !FC 255 264 256 265 CALL RRTM_RTRN1A_140GP (KLEV,ISTART,IEND,ICLDLYR,Z_CLDFRAC,Z_TAUCLD,Z_ABSS1,& 257 266 & 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,& 258 268 & Z_TAVEL,Z_PZ,Z_TZ,Z_TBOUND,Z_PFRAC,Z_SEMISS,Z_SEMISLW,IREFLECT) 259 269 … … 270 280 PFLUX(iplon,2,i+1) = -Z_TOTDFLUX(i)*Z_FLUXFAC 271 281 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 272 288 ENDDO 273 289 -
TabularUnified LMDZ6/trunk/libf/phylmd/rrtm/rrtm_rrtm_140gp.intfb.h ¶
r5294 r5677 8 8 & PCLDF , PTAUCLD,& 9 9 & PTAU_LW,& 10 & PEMIT , PFLUX , PFLUC, PTCLEAR ) 10 & PEMIT , PFLUX , PFLUC, PTCLEAR, & 11 & PTOAG, PTOACG ) !FC 11 12 USE PARKIND1 ,ONLY : JPIM ,JPRB 12 13 USE YOERAD ,ONLY : NLW !--C.Kleinschmitt … … 40 41 REAL(KIND=JPRB) ,INTENT(OUT) :: PFLUX(KLON,2,KLEV+1) 41 42 REAL(KIND=JPRB) ,INTENT(OUT) :: PFLUC(KLON,2,KLEV+1) 43 REAL(KIND=JPRB) ,INTENT(OUT) :: PTOAG(KLON,JPGPT) !FC 44 REAL(KIND=JPRB) ,INTENT(OUT) :: PTOACG(KLON,JPGPT) !FC 42 45 REAL(KIND=JPRB) ,INTENT(OUT) :: PTCLEAR(KLON) 43 46 END SUBROUTINE RRTM_RRTM_140GP -
TabularUnified LMDZ6/trunk/libf/phylmd/rrtm/rrtm_rtrn1a_140gp.F90 ¶
r2462 r5677 1 1 SUBROUTINE RRTM_RTRN1A_140GP (KLEV,K_ISTART,K_IEND,K_ICLDLYR,P_CLDFRAC,P_TAUCLD,P_ABSS1,& 2 2 & 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 ,& 3 4 & P_TAVEL,PZ,P_TZ,P_TBOUND,PFRAC,P_SEMISS,P_SEMISLW,K_IREFLECT) 4 5 !FC 5 6 ! Reformatted for F90 by JJMorcrette, ECMWF, 980714 6 7 ! Speed-up by D.Salmond, ECMWF, 9907 … … 50 51 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TOTUFLUC(0:JPLAY) 51 52 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TOTUFLUX(0:JPLAY) 53 54 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TOAG(JPGPT) !FC 55 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TOACG(JPGPT) !FC 56 52 57 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAVEL(JPLAY) 53 58 REAL(KIND=JPRB) :: PZ(0:JPLAY) ! Argument NOT used … … 57 62 REAL(KIND=JPRB) ,INTENT(IN) :: P_SEMISS(JPBAND) 58 63 REAL(KIND=JPRB) ,INTENT(OUT) :: P_SEMISLW 64 65 REAL(KIND=JPRB) :: P_UFLUX(0:JPLAY,JPGPT) !FC DUMMY A CAUSE ORDRE BOUCLE 66 REAL(KIND=JPRB) :: P_UFLUC(0:JPLAY,JPGPT) !FC DUMMY A CAUSE ORDRE BOUCLE 67 59 68 INTEGER(KIND=JPIM) :: K_IREFLECT ! Argument NOT used 60 69 !- from PROFILE … … 219 228 P_TOTUFLUX(I_LAY) = 0.0_JPRB 220 229 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 221 237 !-start JJM_000511 222 238 IF (P_TZ(I_LAY) < 339._JPRB .AND. P_TZ(I_LAY) >= 160._JPRB ) THEN … … 762 778 Z_RADLU1(IPR) = Z_RADUEMIT(IPR) + (1.0_JPRB - Z_SEMIS(IPR)) * Z_RADD 763 779 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 764 784 ENDDO 765 785 P_TOTUFLUC(0) = Z_URADCL1 * 0.5_JPRB … … 866 886 P_TOTUFLUX(I_LEV) = Z_URAD1 * Z_WTNUM(1) 867 887 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 895 ENDDO ! 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 869 904 870 905 !* 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 2 2 SUBROUTINE RRTM_RTRN1A_140GP (KLEV,K_ISTART,K_IEND,K_ICLDLYR,P_CLDFRAC,P_TAUCLD,P_ABSS1,& 3 3 & 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, & 4 5 & P_TAVEL,PZ,P_TZ,P_TBOUND,PFRAC,P_SEMISS,P_SEMISLW,K_IREFLECT) 5 6 USE PARKIND1 ,ONLY : JPIM ,JPRB … … 22 23 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TOTUFLUC(0:JPLAY) 23 24 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TOTUFLUX(0:JPLAY) 25 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TOAG(JPGPT) !FC 26 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TOACG(JPGPT) !FC 24 27 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAVEL(JPLAY) 25 28 REAL(KIND=JPRB) :: PZ(0:JPLAY)
Note: See TracChangeset
for help on using the changeset viewer.