Changeset 956 for LMDZ4/trunk/libf/phylmd
- Timestamp:
- May 9, 2008, 6:17:59 PM (17 years ago)
- Location:
- LMDZ4/trunk/libf/phylmd
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phylmd/conf_phys.F90
r955 r956 113 113 ! 114 114 ! 115 LOGICAL,SAVE :: cycle_diurne_omp,soil_model_omp,new_oliq_omp 116 LOGICAL,SAVE :: ok_orodr_omp, ok_orolf_omp, ok_limitvrai_omp 117 INTEGER, SAVE :: nbapp_rad_omp, iflag_con_omp 115 118 ! 116 119 … … 373 376 ! RCFC12 = 2.020102726958923E-09 374 377 !OK call getin('RCFC12', RCFC12) 378 379 380 381 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 382 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique 383 ! Constantes precedemment dans dyn3d/conf_gcm 384 385 !Config Key = cycle_diurne 386 !Config Desc = Cycle ddiurne 387 !Config Def = y 388 !Config Help = Cette option permet d'eteidre le cycle diurne. 389 !Config Peut etre util pour accelerer le code ! 390 cycle_diurne_omp = .TRUE. 391 CALL getin('cycle_diurne',cycle_diurne_omp) 392 393 !Config Key = soil_model 394 !Config Desc = Modele de sol 395 !Config Def = y 396 !Config Help = Choix du modele de sol (Thermique ?) 397 !Config Option qui pourait un string afin de pouvoir 398 !Config plus de choix ! Ou meme une liste d'options ! 399 soil_model_omp = .TRUE. 400 CALL getin('soil_model',soil_model_omp) 401 402 !Config Key = new_oliq 403 !Config Desc = Nouvelle eau liquide 404 !Config Def = y 405 !Config Help = Permet de mettre en route la 406 !Config nouvelle parametrisation de l'eau liquide ! 407 new_oliq_omp = .TRUE. 408 CALL getin('new_oliq',new_oliq_omp) 409 410 !Config Key = ok_orodr 411 !Config Desc = Orodr ??? 412 !Config Def = y 413 !Config Help = Y en a pas comprendre ! 414 !Config 415 ok_orodr_omp = .TRUE. 416 CALL getin('ok_orodr',ok_orodr_omp) 417 418 !Config Key = ok_orolf 419 !Config Desc = Orolf ?? 420 !Config Def = y 421 !Config Help = Connais pas ! 422 ok_orolf_omp = .TRUE. 423 CALL getin('ok_orolf_omp', ok_orolf_omp) 424 425 !Config Key = ok_limitvrai 426 !Config Desc = Force la lecture de la bonne annee 427 !Config Def = n 428 !Config Help = On peut forcer le modele a lire le 429 !Config fichier SST de la bonne annee. C'est une tres bonne 430 !Config idee, pourquoi ne pas mettre toujours a y ??? 431 ok_limitvrai_omp = .FALSE. 432 CALL getin('ok_limitvrai',ok_limitvrai_omp) 433 434 !Config Key = nbapp_rad 435 !Config Desc = Frequence d'appel au rayonnement 436 !Config Def = 12 437 !Config Help = Nombre d'appels des routines de rayonnements 438 !Config par jour. 439 nbapp_rad_omp = 12 440 CALL getin('nbapp_rad',nbapp_rad_omp) 441 442 !Config Key = iflag_con 443 !Config Desc = Flag de convection 444 !Config Def = 2 445 !Config Help = Flag pour la convection les options suivantes existent : 446 !Config 1 pour LMD, 447 !Config 2 pour Tiedtke, 448 !Config 3 pour CCM(NCAR) 449 iflag_con_omp = 2 450 CALL getin('iflag_con',iflag_con_omp) 451 452 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 375 453 !! 376 454 !! Constante solaire & Parametres orbitaux & taux gaz effet de serre END … … 932 1010 CFC12_ppt = CFC12_ppt_omp 933 1011 RCFC12 = RCFC12_omp 1012 1013 cycle_diurne = cycle_diurne_omp 1014 soil_model = soil_model_omp 1015 new_oliq = new_oliq_omp 1016 ok_orodr = ok_orodr_omp 1017 ok_orolf = ok_orolf_omp 1018 ok_limitvrai = ok_limitvrai_omp 1019 nbapp_rad = nbapp_rad_omp 1020 iflag_con = iflag_con_omp 1021 934 1022 epmax = epmax_omp 935 1023 ok_adj_ema = ok_adj_ema_omp … … 1035 1123 write(numout,*)' cvl_corr=', cvl_corr 1036 1124 write(numout,*)'ok_lic_melt=', ok_lic_melt 1125 write(numout,*)'cycle_diurne=',cycle_diurne 1126 write(numout,*)'soil_model=',soil_model 1127 write(numout,*)'new_oliq=',new_oliq 1128 write(numout,*)'ok_orodr=',ok_orodr 1129 write(numout,*)'ok_orolf=',ok_orolf 1130 write(numout,*)'ok_limitvrai=',ok_limitvrai 1131 write(numout,*)'nbapp_rad=',nbapp_rad 1132 write(numout,*)'iflag_con=',iflag_con 1037 1133 write(numout,*)' epmax = ', epmax 1038 1134 write(numout,*)' ok_adj_ema = ', ok_adj_ema -
LMDZ4/trunk/libf/phylmd/ini_histrac.h
r782 r956 23 23 24 24 zsto = pdtphys 25 zout = pdtphys *ecrit_tra25 zout = ecrit_tra 26 26 c 27 27 CALL histdef(nid_tra, "phis", "Surface geop. height", "-", -
LMDZ4/trunk/libf/phylmd/phyetat0.F
r937 r956 191 191 192 192 c 193 193 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 194 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique 195 ! Les constantes de la physiques sont lues dans la physique seulement. 196 ! Les egalites du type 197 ! tab_cntrl( 5 )=clesphy0(1) 198 ! sont remplacees par 199 ! clesphy0(1)=tab_cntrl( 5 ) 200 ! On inverse aussi la logique. 201 ! On remplit les tab_cntrl avec les parametres lus dans les .def 202 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 203 194 204 DO i = 1, length 195 205 tabcntr0( i ) = tab_cntrl( i ) 196 206 ENDDO 197 207 c 198 cycle_diurne = .FALSE. 199 soil_model = .FALSE. 200 new_oliq = .FALSE. 201 ok_orodr = .FALSE. 202 ok_orolf = .FALSE. 203 ok_limitvrai = .FALSE. 204 205 206 IF( clesphy0(1).NE.tab_cntrl( 5 ) ) THEN 207 tab_cntrl( 5 ) = clesphy0(1) 208 ENDIF 209 210 IF( clesphy0(2).NE.tab_cntrl( 6 ) ) THEN 211 tab_cntrl( 6 ) = clesphy0(2) 212 ENDIF 213 214 IF( clesphy0(3).NE.tab_cntrl( 7 ) ) THEN 215 tab_cntrl( 7 ) = clesphy0(3) 216 ENDIF 217 218 IF( clesphy0(4).NE.tab_cntrl( 8 ) ) THEN 219 tab_cntrl( 8 ) = clesphy0(4) 220 ENDIF 221 222 IF( clesphy0(5).NE.tab_cntrl( 9 ) ) THEN 223 tab_cntrl( 9 ) = clesphy0( 5 ) 224 ENDIF 225 226 IF( clesphy0(6).NE.tab_cntrl( 10 ) ) THEN 227 tab_cntrl( 10 ) = clesphy0( 6 ) 228 ENDIF 229 230 IF( clesphy0(7).NE.tab_cntrl( 11 ) ) THEN 231 tab_cntrl( 11 ) = clesphy0( 7 ) 232 ENDIF 233 234 IF( clesphy0(8).NE.tab_cntrl( 12 ) ) THEN 235 tab_cntrl( 12 ) = clesphy0( 8 ) 236 ENDIF 237 238 239 dtime = tab_cntrl(1) 240 radpas = tab_cntrl(2) 208 tab_cntrl(1)=dtime 209 tab_cntrl(2)=radpas 241 210 co2_ppm_etat0 = tab_cntrl(3) 242 211 solaire_etat0 = tab_cntrl(4) 243 iflag_con = tab_cntrl(5) 244 nbapp_rad = tab_cntrl(6) 245 246 247 cycle_diurne = .FALSE. 248 soil_model = .FALSE. 249 new_oliq = .FALSE. 250 ok_orodr = .FALSE. 251 ok_orolf = .FALSE. 252 ok_limitvrai = .FALSE. 253 254 IF( tab_cntrl( 7) .EQ. 1. ) cycle_diurne = .TRUE. 255 IF( tab_cntrl( 8) .EQ. 1. ) soil_model = .TRUE. 256 IF( tab_cntrl( 9) .EQ. 1. ) new_oliq = .TRUE. 257 IF( tab_cntrl(10) .EQ. 1. ) ok_orodr = .TRUE. 258 IF( tab_cntrl(11) .EQ. 1. ) ok_orolf = .TRUE. 259 IF( tab_cntrl(12) .EQ. 1. ) ok_limitvrai = .TRUE. 212 tab_cntrl(5)=iflag_con 213 tab_cntrl(6)=nbapp_rad 214 215 if (cycle_diurne) tab_cntrl( 7) =1. 216 if (soil_model) tab_cntrl( 8) =1. 217 if (new_oliq) tab_cntrl( 9) =1. 218 if (ok_orodr) tab_cntrl(10) =1. 219 if (ok_orolf) tab_cntrl(11) =1. 220 if (ok_limitvrai) tab_cntrl(12) =1. 260 221 261 222 262 223 itau_phy = tab_cntrl(15) 224 225 226 227 IF( clesphy0(1).NE.tab_cntrl( 5 ) ) THEN 228 clesphy0(1)=tab_cntrl( 5 ) 229 ENDIF 230 231 IF( clesphy0(2).NE.tab_cntrl( 6 ) ) THEN 232 clesphy0(2)=tab_cntrl( 6 ) 233 ENDIF 234 235 IF( clesphy0(3).NE.tab_cntrl( 7 ) ) THEN 236 clesphy0(3)=tab_cntrl( 7 ) 237 ENDIF 238 239 IF( clesphy0(4).NE.tab_cntrl( 8 ) ) THEN 240 clesphy0(4)=tab_cntrl( 8 ) 241 ENDIF 242 243 IF( clesphy0(5).NE.tab_cntrl( 9 ) ) THEN 244 clesphy0(5)=tab_cntrl( 9 ) 245 ENDIF 246 247 IF( clesphy0(6).NE.tab_cntrl( 10 ) ) THEN 248 clesphy0(6)=tab_cntrl( 10 ) 249 ENDIF 250 251 IF( clesphy0(7).NE.tab_cntrl( 11 ) ) THEN 252 clesphy0(7)=tab_cntrl( 11 ) 253 ENDIF 254 255 IF( clesphy0(8).NE.tab_cntrl( 12 ) ) THEN 256 clesphy0(8)=tab_cntrl( 12 ) 257 ENDIF 258 263 259 264 260 c -
LMDZ4/trunk/libf/phylmd/physiq.F
r955 r956 1251 1251 print*,'iflag_coupl,iflag_clos,iflag_wake', 1252 1252 . iflag_coupl,iflag_clos,iflag_wake 1253 print*,'CYCLE_DIURNE', cycle_diurne 1253 1254 1254 1255 c … … 1266 1267 PRINT*, "Using method MELLOR&YAMADA" 1267 1268 endif 1269 1270 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1271 ! FH 2008/05/02 changement lie a la lecture de nbapp_rad dans phylmd plutot que 1272 ! dyn3d 1273 ! Attention : la version precedente n'etait pas tres propre. 1274 ! Il se peut qu'il faille prendre une valeur differente de nbapp_rad 1275 ! pour obtenir le meme resultat. 1276 dtime=pdtphys 1277 radpas = NINT( 86400./dtime/nbapp_rad) 1278 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1279 1268 1280 1269 1281 CALL phyetat0 ("startphy.nc",dtime,co2_ppm_etat0,solaire_etat0, … … 1293 1305 ENDDO 1294 1306 1295 radpas = NINT( 86400./dtime/nbapp_rad)1296 1307 c 1297 1308 C on remet le calendrier a zero -
LMDZ4/trunk/libf/phylmd/phytrac.F
r955 r956 273 273 274 274 C 275 C Variables liees a l'ecriture de la bande histoire : phytrac.nc276 c277 c INTEGER ecrit_tra278 c SAVE ecrit_tra279 280 275 logical ok_sync 281 276 parameter (ok_sync = .true.) … … 425 420 426 421 c jg: c'est ca qu'on veut????? 427 ecrit_tra = FLOAT(NINT(86400./pdtphys *ecritphy)) 428 print*,'dans phytrac ',pdtphys,ecritphy,ecrit_tra 422 ! FH 2008/05/09 correction de la frequence d'ecriture des traceurs 423 ! ecrit_tra = FLOAT(NINT(86400./pdtphys *ecritphy)) 424 print*,'dans phytrac ',pdtphys,ecrit_tra 429 425 430 426 if(nbtr.lt.nqmax) then -
LMDZ4/trunk/libf/phylmd/write_paramLMDZ_phy.h
r828 r956 139 139 . zx_tmp_2d,iim*jjmp1,ndex2d) 140 140 c 141 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 142 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique 143 ! Mais est-il bien raisonable de stoker ces fichiers comme des 144 ! champs 2D... 145 ! WARNING : 146 ! Il faudrait ici ajoute l'ecriture des champs 147 ! cycle_diurne = cycle_diurne_omp 148 ! soil_model = soil_model_omp 149 ! new_oliq = new_oliq_omp 150 ! ok_orodr = ok_orodr_omp 151 ! ok_orolf = ok_orolf_omp 152 ! ok_limitvrai = ok_limitvrai_omp 153 ! nbapp_rad = nbapp_rad_omp 154 ! iflag_con = iflag_con_omp 155 ! qui se trouvaient auparavant dans gcm.def et maintenant dans 156 ! physiq.def. 157 ! Mais regarder d'abord a quoi ca sert ... 158 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 159 160 161 c 141 162 IF(ok_adj_ema) THEN 142 163 zx_tmp_2d(1:iim,1:jjmp1)=1.
Note: See TracChangeset
for help on using the changeset viewer.