Changeset 5158 for LMDZ6/branches/Amaury_dev/libf/phylmd/rrtm
- Timestamp:
- Aug 2, 2024, 2:12:03 PM (6 months ago)
- Location:
- LMDZ6/branches/Amaury_dev/libf/phylmd/rrtm
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/phylmd/rrtm/dates.F90
r1990 r5158 26 26 ! - gregoi: Conversion Ecart par rapport a une date fixe > Date. 27 27 ! - daplus: Quelle sera la date dans n jours (ou heures, etc...)? 28 ! - amqhms_vers_dj: Conversion date gr égorienne (en 5 entiers et un réel) > date julienne.29 ! - dj_vers_amqhms: Conversion date julienne > date gr égorienne (en 5 entiers et un réel).30 ! - amqhmsree_vers_dj: Conversion date gr égorienne (en un seul réel) > date julienne.31 ! - dj_vers_amqhmsree: Conversion date julienne > date gr égorienne (en un seul réel).32 ! 33 ! -------------------------------------------------------------- 34 ! 35 ! D éfinition des dates employées ci-dessous:28 ! - amqhms_vers_dj: Conversion date gr�gorienne (en 5 entiers et un r�el) > date julienne. 29 ! - dj_vers_amqhms: Conversion date julienne > date gr�gorienne (en 5 entiers et un r�el). 30 ! - amqhmsree_vers_dj: Conversion date gr�gorienne (en un seul r�el) > date julienne. 31 ! - dj_vers_amqhmsree: Conversion date julienne > date gr�gorienne (en un seul r�el). 32 ! 33 ! -------------------------------------------------------------- 34 ! 35 ! D�finition des dates employ�es ci-dessous: 36 36 ! 37 37 ! Date julienne DJ: 38 ! Elle est compos ée d'un réel.39 ! R1: Ce r éel croît de 1 tous les jours,40 ! et vaut 2451545.0 le 1er janvier 2000 à12 UTC.41 ! 42 ! Date gr égorienne "en clair" AMQHMS:43 ! Elle est compos ée de 5 entiers et d'un réel.44 ! E1: Ann ée (4 chiffres!)38 ! Elle est compos�e d'un r�el. 39 ! R1: Ce r�el cro�t de 1 tous les jours, 40 ! et vaut 2451545.0 le 1er janvier 2000 � 12 UTC. 41 ! 42 ! Date gr�gorienne "en clair" AMQHMS: 43 ! Elle est compos�e de 5 entiers et d'un r�el. 44 ! E1: Ann�e (4 chiffres!) 45 45 ! E2: Mois 46 46 ! E3: Jour … … 82 82 ! 83 83 !------------------------------------------------- 84 ! Date de validit é.84 ! Date de validit�. 85 85 !------------------------------------------------- 86 86 ! … … 92 92 zsssss=zsssss-real(imi) 93 93 call amqhms_vers_dj(kan,kmo,kqu,ihe,imi,zs,zdj) 94 zdj=zdj+pstati/86400. ! date julienne de validit é.95 call dj_vers_amqhms(zdj,ianv,imov,iquv,ihev,imiv,zsv) ! date gr égorienne de validité.94 zdj=zdj+pstati/86400. ! date julienne de validit�. 95 call dj_vers_amqhms(zdj,ianv,imov,iquv,ihev,imiv,zsv) ! date gr�gorienne de validit�. 96 96 if(pstati < 3600.) then 97 97 ! 98 98 !------------------------------------------------- 99 ! Ech éance en minutes.100 !------------------------------------------------- 101 ! 102 99 ! Ech�ance en minutes. 100 !------------------------------------------------- 101 ! 102 zech=pstati/60. ; clzue='mn' 103 103 elseif(pstati < 259200.) then 104 104 ! 105 105 !------------------------------------------------- 106 ! Ech éance en heures.107 !------------------------------------------------- 108 ! 109 106 ! Ech�ance en heures. 107 !------------------------------------------------- 108 ! 109 zech=pstati/3600. ; clzue='h' 110 110 else 111 111 ! 112 112 !------------------------------------------------- 113 ! Ech éance en jours.114 !------------------------------------------------- 115 ! 116 113 ! Ech�ance en jours. 114 !------------------------------------------------- 115 ! 116 zech=pstati/86400. ; clzue='j' 117 117 endif 118 118 ! … … 125 125 ! 126 126 if(clze(len_trim(clze)-2:len_trim(clze)) == '.00') then 127 127 clze=clze(1:len_trim(clze)-3) 128 128 endif 129 129 clze=adjustl(clze) … … 139 139 ! 140 140 !------------------------------------------------- 141 ! Les minutes de base et validit ésont nulles.141 ! Les minutes de base et validit� sont nulles. 142 142 ! On ne les affiche pas. 143 143 !------------------------------------------------- 144 144 ! 145 146 147 145 write(cdtit,fmt='(a,i2,a,i2.2,a,i4.4,a,i2.2,3a,i2,a,i2.2,a,i4.4,a,i2.2,a)')& 146 &'BASE ',kqu,'.',kmo,'.',kan,' ',ihe,'h UTC + ',clech(1:len_trim(clech))& 147 &,', VALID ',iquv,'.',imov,'.',ianv,' ',ihev,'h UTC' 148 148 else 149 149 ! 150 150 !------------------------------------------------- 151 ! Les minutes de base ou validit ésont non nulles.151 ! Les minutes de base ou validit� sont non nulles. 152 152 ! On les affiche. 153 153 !------------------------------------------------- 154 154 ! 155 156 157 155 write(cdtit,fmt='(a,i2,a,i2.2,a,i4.4,a,i2.2,a,i2.2,3a,i2,a,i2.2,a,i4.4,a,i2.2,a,i2.2,a)')& 156 &'BASE ',kqu,'.',kmo,'.',kan,' ',ihe,':',imi,' UTC + ',clech(1:len_trim(clech))& 157 &,' VALID ',iquv,'.',imov,'.',ianv,' ',ihev,':',imiv,' UTC' 158 158 endif 159 159 end … … 209 209 ! 210 210 !------------------------------------------------- 211 ! Date courante àla f90.211 ! Date courante � la f90. 212 212 !------------------------------------------------- 213 213 ! … … 259 259 ! -------------------------------------------------------------------------- 260 260 ! En entree: 261 ! kaaaa ann ée (4 chiffres!)261 ! kaaaa ann�e (4 chiffres!) 262 262 ! kmm mois 263 ! kqq quanti ème du mois263 ! kqq quanti�me du mois 264 264 ! khh heure 265 265 ! kmn minute 266 266 ! ps seconde 267 267 ! En sortie: 268 ! pdj date julienne associ ée à la date grégorienne UTC d'entrée268 ! pdj date julienne associ�e � la date gr�gorienne UTC d'entr�e 269 269 ! -------------------------------------------------------------------------- 270 270 … … 286 286 ! 287 287 !------------------------------------------------- 288 ! Nombre de jours écoulés entre la date289 ! d'entr ée à 0h UTC et le 1er janvier 2000 à0h UTC.288 ! Nombre de jours �coul�s entre la date 289 ! d'entr�e � 0h UTC et le 1er janvier 2000 � 0h UTC. 290 290 !------------------------------------------------- 291 291 ! … … 476 476 ! -------------------------------------------------------------------------- 477 477 ! En entree: 478 ! pdj date julienne associ ée à la date grégorienne UTC d'entrée479 ! En sortie: 480 ! kaaaa ann ée (4 chiffres!)478 ! pdj date julienne associ�e � la date gr�gorienne UTC d'entr�e 479 ! En sortie: 480 ! kaaaa ann�e (4 chiffres!) 481 481 ! kmm mois 482 ! kqq quanti ème du mois482 ! kqq quanti�me du mois 483 483 ! khh heure 484 484 ! kmn minute … … 487 487 ! 488 488 !------------------------------------------------- 489 ! Nombre de jours entre le 1er janvier 2000 à0 UTC489 ! Nombre de jours entre le 1er janvier 2000 � 0 UTC 490 490 ! et la date julienne courante. 491 491 !------------------------------------------------- … … 517 517 ! 518 518 !------------------------------------------------- 519 ! Date gr égorienne associée.519 ! Date gr�gorienne associ�e. 520 520 !------------------------------------------------- 521 521 ! … … 563 563 ! 564 564 !------------------------------------------------- 565 ! Conversion gr égorien julien; cible 5 entiers et un réel.565 ! Conversion gr�gorien julien; cible 5 entiers et un r�el. 566 566 !------------------------------------------------- 567 567 ! … … 569 569 ! 570 570 !------------------------------------------------- 571 ! On passe de ces 5 entiers et un r éel à un seul réel.571 ! On passe de ces 5 entiers et un r�el � un seul r�el. 572 572 !------------------------------------------------- 573 573 ! … … 591 591 ! pgrer date en clair au format AAAAMMQQ.HHMMSS 592 592 ! En sortie: 593 ! pdj date julienne associ ée à la date grégorienne593 ! pdj date julienne associ�e � la date gr�gorienne 594 594 ! -------------------------------------------------------------------------- 595 595 ! … … 602 602 ! 603 603 !------------------------------------------------- 604 ! On passe de cette date gr égorienne donnée605 ! comme un seul r éel à 5 entiers et un réel.604 ! On passe de cette date gr�gorienne donn�e 605 ! comme un seul r�el � 5 entiers et un r�el. 606 606 !------------------------------------------------- 607 607 ! … … 619 619 ! 620 620 !------------------------------------------------- 621 ! Conversion gr égorien julien; cible 5 entiers et un réel.621 ! Conversion gr�gorien julien; cible 5 entiers et un r�el. 622 622 !------------------------------------------------- 623 623 ! … … 1058 1058 if(ibissext == 1) ijours(2)=29 1059 1059 ! * Boucle sur les jours 1060 doieci=1,iec1060 DO ieci=1,iec 1061 1061 iqq=iqq+1 1062 1062 if(iqq > ijours(imm)) then -
LMDZ6/branches/Amaury_dev/libf/phylmd/rrtm/eq_regions_mod.F90
r5133 r5158 150 150 if( l_regions_debug )then 151 151 write(*,'("eq_regions: N=",I6," n_regions_ns=",I4)') N,n_regions_ns 152 doj=1,n_regions_ns152 DO j=1,n_regions_ns 153 153 write(*,'("eq_regions: n_regions(",I4,")=",I4)') j,n_regions(j) 154 154 enddo … … 207 207 a_fitting = (pi-2.0_jprb*c_polar)/float(n_collars) 208 208 ideal_region_area = area_of_ideal_region(N) 209 docollar_n=1,n_collars209 DO collar_n=1,n_collars 210 210 ideal_collar_area = area_of_collar(c_polar+(collar_n-1)*a_fitting, & 211 211 & c_polar+collar_n*a_fitting) … … 248 248 n_regions(1:n_collars+2) = r_regions(:) 249 249 discrepancy = 0.0_jprb 250 dozone_n = 1,n_collars+2250 DO zone_n = 1,n_collars+2 251 251 n_regions(zone_n) = nint(r_regions(zone_n)+discrepancy); 252 252 discrepancy = discrepancy+r_regions(zone_n)-float(n_regions(zone_n)); … … 351 351 if (n .gt. 0) then 352 352 w = x - 1 353 dok = 2, n353 DO k = 2, n 354 354 w = w * (x - k) 355 355 end do 356 356 else 357 357 w = 1 358 dok = 0, -n - 1358 DO k = 0, -n - 1 359 359 y = y * (x + k) 360 360 end do -
LMDZ6/branches/Amaury_dev/libf/phylmd/rrtm/lw.F90
r1990 r5158 142 142 143 143 IF (LHOOK) CALL DR_HOOK('LW',0,ZHOOK_HANDLE) 144 print *,' 144 print *,' LW: Avant LWU' 145 145 CALL LWU & 146 146 & ( KIDIA, KFDIA, KLON, KLEV,& … … 156 156 ! --------------------------------- 157 157 158 print *,' 158 print *,' LW: Avant LWBV' 159 159 CALL LWBV & 160 160 & ( KIDIA, KFDIA, KLON , KLEV , KMODE,& … … 169 169 ! -------------------------------- 170 170 171 print *,' 171 print *,' LW: Avant LWC' 172 172 CALL LWC & 173 173 & ( KIDIA , KFDIA, KLON , KLEV,& -
LMDZ6/branches/Amaury_dev/libf/phylmd/rrtm/su_aerop.F90
r1990 r5158 70 70 ! of RH (12 values) for the 8 wavelengths 71 71 ! For sea-salt (_SS), 3 bins are considered (0.03, 0.50, 5.0, 20.) 72 ! For desert dust (_DD), 3 bins are considered 72 ! For desert dust (_DD), 3 bins are considered (0.03, 0.55, 0.9, 20.) 73 73 ! 74 74 ! IF BIN LIMITS ARE CHANGED, MAKE SURE THAT THE RELEVANT SEDIMENTATION SPEEDS ARE 75 75 ! RECOMPUTED ACCORDINGLY 76 76 77 ! RH 0. 10.20. 30. 40. 50.77 ! RH 0. 10. 20. 30. 40. 50. 78 78 ! 60. 70. 80. 85. 90. 95. 79 79 -
LMDZ6/branches/Amaury_dev/libf/phylmd/rrtm/su_aerp.F90
r1990 r5158 65 65 ! (RHTAB, RHHO_SS, RSSGROW) 66 66 ! or to 12 types/bins of aerosols with the following mapping: NTYPAER 67 ! 1- 3 sea-salt 0.03 - 0.5 - 5 - 20 microns 68 ! 4- 6 dust 0.03 - 0.5 - 0.9 - 20 microns 69 ! 7- 8 POM hydrophilic, hydrophobic370 ! 9-10 BC hydrophilic, hydrophobic471 ! 11 sulfate 72 ! 12 fly ash 73 ! 13 stratospheric aerosols 74 ! 14 volcanic aerosols 75 ! 15 67 ! 1- 3 sea-salt 0.03 - 0.5 - 5 - 20 microns 1 68 ! 4- 6 dust 0.03 - 0.5 - 0.9 - 20 microns 2 69 ! 7- 8 POM hydrophilic, hydrophobic 3 70 ! 9-10 BC hydrophilic, hydrophobic 4 71 ! 11 sulfate 5 72 ! 12 fly ash 6 73 ! 13 stratospheric aerosols 7 74 ! 14 volcanic aerosols 8 75 ! 15 9 76 76 ! (RVDPOCE, RVDSIC, RVDPLND, RVDPLIC) 77 77 ! (RVSEDOCE,RVSEDSIC,RVSEDLND,RVSEDLIC) … … 268 268 & 0.01_JPRB, 0.01_JPRB, 0.01_JPRB, 0.01_JPRB, 0.01_JPRB, 0.01_JPRB, 0.01_JPRB /) 269 269 270 270 271 271 !* 3. PARAMETERS RELATED TO TRANSPORT WITHIN THE FREE ATMOSPHERE 272 272 ! ---------------------------------------------------------- -
LMDZ6/branches/Amaury_dev/libf/phylmd/rrtm/su_aerw.F90
r1990 r5158 119 119 ! 1 1- 3 sea-salt 0.03 - 0.5 - 5 - 20 microns 120 120 ! 2 4- 6 dust 0.03 - 0.5 - 0.9 - 20 microns 121 ! 3 7- 8 POM 122 ! 4 9-10 BC 121 ! 3 7- 8 POM hydrophilic, hydrophobic 122 ! 4 9-10 BC hydrophilic, hydrophobic 123 123 ! 5 11 sulfate 124 124 ! 6 12 fly ash -
LMDZ6/branches/Amaury_dev/libf/phylmd/rrtm/su_uvrad.F90
r1990 r5158 928 928 RFA0 = (/-0.236447E-03_JPRB,-0.266955E-03_JPRB,-0.293599E-03_JPRB,-0.258858E-03_JPRB /) 929 929 RFA1 = (/ 0.253817E+01_JPRB, 0.254179E+01_JPRB, 0.254540E+01_JPRB, 0.253815E+01_JPRB /) 930 ! 930 ! single scattering albedo 931 931 RFB0 = (/-0.269916E-06_JPRB,-0.100570E-06_JPRB, 0.182299E-06_JPRB,-0.198529E-06_JPRB /) 932 932 RFB1 = (/ 0.212909E-06_JPRB, 0.160441E-06_JPRB, 0.112454E-06_JPRB, 0.939480E-07_JPRB /) -
LMDZ6/branches/Amaury_dev/libf/phylmd/rrtm/sucst.F90
r2043 r5158 290 290 WRITE(KULOUT,'(10(1X,E10.4))') (ESS(RTT+10._JPRB*J),J=-4,4) 291 291 ! call flush(0) !!!!! A REVOIR (MPL) les 7 lignes qui suivent 292 doj=1,9292 DO j=1,9 293 293 print*,'TEST J',j 294 294 print*,'RTT...',RTT+10._JPRB*(J-5) -
LMDZ6/branches/Amaury_dev/libf/phylmd/rrtm/suecrad.F90
r5154 r5158 293 293 ! 3: f(T,IWC) Sun'01: 22.5 to 175 microns 294 294 ! conversion factor between effective radius and particle size for ice 295 NRADIP = 3 ! before 3?R1 default=2 296 NRADLP = 2 ! before 3?R1 default=2 295 NRADIP = 3 ! before 3?R1 default=2 3 296 NRADLP = 2 ! before 3?R1 default=2 2 297 297 print *, 'SUECRAD: NRADLP, NRADIP=', NRADLP, NRADIP 298 298 RRe2De = 0.64952_JPRB ! before 3?R1 default=0.5_JPRB -
LMDZ6/branches/Amaury_dev/libf/phylmd/rrtm/yoeaerop.F90
r2010 r5158 28 28 29 29 ! ALF is alpha , the mass extinction coefficient in m2/g 30 ! ASY is g , the assymetry factor 31 ! OMG is pizero, the single scattering albedo 30 ! ASY is g , the assymetry factor ND 31 ! OMG is pizero, the single scattering albedo ND 32 32 ! ------------------------------------------------------------------ 33 33 -
LMDZ6/branches/Amaury_dev/libf/phylmd/rrtm/yomarar.F90
r2010 r5158 58 58 59 59 REAL(KIND=JPRB), DIMENSION(:), ALLOCATABLE :: XSW_BANDS !SW spectral bands 60 60 ! for ext. surface scheme 61 61 LOGICAL :: LOSUBG_COND ! see OSUBG_COND in mesoNH 62 62 LOGICAL :: LOSUBG_AUCV ! see OSUBG_AUCV in mesoNH -
LMDZ6/branches/Amaury_dev/libf/phylmd/rrtm/yomcoaphy.F90
r2010 r5158 16 16 INTEGER(KIND=JPIM) :: NPHYINT ! NPHYINT=0 -> Physics and dynamics at the same resolution 17 17 ! NPHYINT=1 -> Physics grid coarser than dynamics grid 18 18 ! NPHYINT=2 -> Physics grid finer than dynamics grid 19 19 TYPE(gridpoint_buffer) :: PHYS_GPPBUF 20 20 CHARACTER (LEN = 32) :: CPTABLEFIL -
LMDZ6/branches/Amaury_dev/libf/phylmd/rrtm/yomgrb.F90
r2010 r5158 227 227 ! NGRBAERMR14 - 014 aerosol mixing ratio 14 228 228 ! NGRBAERMR15 - 015 aerosol mixing ratio 15 229 ! NGRBAERGN01 - 016 aerosol gain acc. 1 230 ! NGRBAERGN02 - 017 aerosol gain acc. 2 231 ! NGRBAERGN03 - 018 aerosol gain acc. 3 232 ! NGRBAERGN04 - 019 aerosol gain acc. 4 233 ! NGRBAERGN05 - 020 aerosol gain acc. 5 234 ! NGRBAERGN06 - 021 aerosol gain acc. 6 235 ! NGRBAERGN07 - 022 aerosol gain acc. 7 236 ! NGRBAERGN08 - 023 aerosol gain acc. 8 237 ! NGRBAERGN09 - 024 aerosol gain acc. 9 238 ! NGRBAERGN10 - 025 aerosol gain acc. 10 239 ! NGRBAERGN11 - 026 aerosol gain acc. 11 240 ! NGRBAERGN12 - 027 aerosol gain acc. 12 241 ! NGRBAERGN13 - 028 aerosol gain acc. 13 242 ! NGRBAERGN14 - 029 aerosol gain acc. 14 243 ! NGRBAERGN15 - 030 aerosol gain acc. 15 244 ! NGRBAERLS01 - 031 aerosol loss acc. 1 245 ! NGRBAERLS02 - 032 aerosol loss acc. 2 246 ! NGRBAERLS03 - 033 aerosol loss acc. 3 247 ! NGRBAERLS04 - 034 aerosol loss acc. 4 248 ! NGRBAERLS05 - 035 aerosol loss acc. 5 249 ! NGRBAERLS06 - 036 aerosol loss acc. 6 250 ! NGRBAERLS07 - 037 aerosol loss acc. 7 251 ! NGRBAERLS08 - 038 aerosol loss acc. 8 252 ! NGRBAERLS09 - 039 aerosol loss acc. 9 253 ! NGRBAERLS10 - 040 aerosol loss acc. 10 254 ! NGRBAERLS11 - 041 aerosol loss acc. 11 255 ! NGRBAERLS12 - 042 aerosol loss acc. 12 256 ! NGRBAERLS13 - 043 aerosol loss acc. 13 257 ! NGRBAERLS14 - 044 aerosol loss acc. 14 258 ! NGRBAERLS15 - 045 aerosol loss acc. 15 229 ! NGRBAERGN01 - 016 aerosol gain acc. 1 2D 230 ! NGRBAERGN02 - 017 aerosol gain acc. 2 2D 231 ! NGRBAERGN03 - 018 aerosol gain acc. 3 2D 232 ! NGRBAERGN04 - 019 aerosol gain acc. 4 2D 233 ! NGRBAERGN05 - 020 aerosol gain acc. 5 2D 234 ! NGRBAERGN06 - 021 aerosol gain acc. 6 2D 235 ! NGRBAERGN07 - 022 aerosol gain acc. 7 2D 236 ! NGRBAERGN08 - 023 aerosol gain acc. 8 2D 237 ! NGRBAERGN09 - 024 aerosol gain acc. 9 2D 238 ! NGRBAERGN10 - 025 aerosol gain acc. 10 2D 239 ! NGRBAERGN11 - 026 aerosol gain acc. 11 2D 240 ! NGRBAERGN12 - 027 aerosol gain acc. 12 2D 241 ! NGRBAERGN13 - 028 aerosol gain acc. 13 2D 242 ! NGRBAERGN14 - 029 aerosol gain acc. 14 2D 243 ! NGRBAERGN15 - 030 aerosol gain acc. 15 2D 244 ! NGRBAERLS01 - 031 aerosol loss acc. 1 2D 245 ! NGRBAERLS02 - 032 aerosol loss acc. 2 2D 246 ! NGRBAERLS03 - 033 aerosol loss acc. 3 2D 247 ! NGRBAERLS04 - 034 aerosol loss acc. 4 2D 248 ! NGRBAERLS05 - 035 aerosol loss acc. 5 2D 249 ! NGRBAERLS06 - 036 aerosol loss acc. 6 2D 250 ! NGRBAERLS07 - 037 aerosol loss acc. 7 2D 251 ! NGRBAERLS08 - 038 aerosol loss acc. 8 2D 252 ! NGRBAERLS09 - 039 aerosol loss acc. 9 2D 253 ! NGRBAERLS10 - 040 aerosol loss acc. 10 2D 254 ! NGRBAERLS11 - 041 aerosol loss acc. 11 2D 255 ! NGRBAERLS12 - 042 aerosol loss acc. 12 2D 256 ! NGRBAERLS13 - 043 aerosol loss acc. 13 2D 257 ! NGRBAERLS14 - 044 aerosol loss acc. 14 2D 258 ! NGRBAERLS15 - 045 aerosol loss acc. 15 2D 259 259 ! NGRBAERPR - 046 aerosol precursor mixing ratio 260 260 ! NGRBAERSM - 047 small aerosols mixing ratio 261 261 ! NGRBAERLG - 048 large aerosols mixing ratio 262 262 ! NGRBAODPR - 049 aerosol precursor opt.depth 2D 263 ! NGRBAODSM - 050 small aerosols opt. depth 264 ! NGRBAODLG - 051 large aerosols opt. depth 263 ! NGRBAODSM - 050 small aerosols opt. depth 2D 264 ! NGRBAODLG - 051 large aerosols opt. depth 2D 265 265 ! NGRBAERDEP - 052 dust emission potential clim2D 266 266 ! NGRBAERLTS - 053 lifting threshold speed clim2D
Note: See TracChangeset
for help on using the changeset viewer.