Changeset 956 for LMDZ4/trunk/libf/dyn3d
- Timestamp:
- May 9, 2008, 6:17:59 PM (17 years ago)
- Location:
- LMDZ4/trunk/libf/dyn3d
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/dyn3d/calfis.F
r644 r956 65 65 c Input : 66 66 c ------- 67 c ecritphy frequence d'ecriture (en jours)de histphy68 67 c pucov covariant zonal velocity 69 68 c pvcov covariant meridional velocity -
LMDZ4/trunk/libf/dyn3d/conf_gcm.F
r691 r956 33 33 #include "serre.h" 34 34 #include "comdissnew.h" 35 #include "clesphys.h" 35 36 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique 37 ! #include "clesphys.h" 36 38 #include "iniprint.h" 37 39 c … … 288 290 CALL getin('iphysiq', iphysiq) 289 291 290 ccc .... P.Le Van, ajout le 03/01/96 pour l'ecriture phys ...291 c292 293 !Config Key = ecritphy294 !Config Desc = Frequence d'ecriture de la physique295 !Config Def = 1296 !Config Help = frequence de l'ecriture du fichier histphy297 !Config en jours.298 ecritphy = 1299 CALL getin('ecritphy',ecritphy)300 301 !Config Key = cycle_diurne302 !Config Desc = Cycle ddiurne303 !Config Def = y304 !Config Help = Cette option permet d'eteidre le cycle diurne.305 !Config Peut etre util pour accelerer le code !306 cycle_diurne = .TRUE.307 CALL getin('cycle_diurne',cycle_diurne)308 309 !Config Key = soil_model310 !Config Desc = Modele de sol311 !Config Def = y312 !Config Help = Choix du modele de sol (Thermique ?)313 !Config Option qui pourait un string afin de pouvoir314 !Config plus de choix ! Ou meme une liste d'options !315 soil_model = .TRUE.316 CALL getin('soil_model',soil_model)317 318 !Config Key = new_oliq319 !Config Desc = Nouvelle eau liquide320 !Config Def = y321 !Config Help = Permet de mettre en route la322 !Config nouvelle parametrisation de l'eau liquide !323 new_oliq = .TRUE.324 CALL getin('new_oliq',new_oliq)325 326 !Config Key = ok_orodr327 !Config Desc = Orodr ???328 !Config Def = y329 !Config Help = Y en a pas comprendre !330 !Config331 ok_orodr = .TRUE.332 CALL getin('ok_orodr',ok_orodr)333 334 !Config Key = ok_orolf335 !Config Desc = Orolf ??336 !Config Def = y337 !Config Help = Connais pas !338 ok_orolf = .TRUE.339 CALL getin('ok_orolf', ok_orolf)340 341 !Config Key = ok_limitvrai342 !Config Desc = Force la lecture de la bonne annee343 !Config Def = n344 !Config Help = On peut forcer le modele a lire le345 !Config fichier SST de la bonne annee. C'est une tres bonne346 !Config idee, pourquoi ne pas mettre toujours a y ???347 ok_limitvrai = .FALSE.348 CALL getin('ok_limitvrai',ok_limitvrai)349 350 !Config Key = nbapp_rad351 !Config Desc = Frequence d'appel au rayonnement352 !Config Def = 12353 !Config Help = Nombre d'appels des routines de rayonnements354 !Config par jour.355 nbapp_rad = 12356 CALL getin('nbapp_rad',nbapp_rad)357 358 !Config Key = iflag_con359 !Config Desc = Flag de convection360 !Config Def = 2361 !Config Help = Flag pour la convection les options suivantes existent :362 !Config 1 pour LMD,363 !Config 2 pour Tiedtke,364 !Config 3 pour CCM(NCAR)365 iflag_con = 2366 CALL getin('iflag_con',iflag_con)367 !368 292 !Config Key = ip_ebil_dyn 369 293 !Config Desc = PRINT level for energy conserv. diag. … … 381 305 clesphy0(i) = 0. 382 306 ENDDO 383 clesphy0(1) = FLOAT( iflag_con )384 clesphy0(2) = FLOAT( nbapp_rad )385 386 IF( cycle_diurne ) clesphy0(3) = 1.387 IF( soil_model ) clesphy0(4) = 1.388 IF( new_oliq ) clesphy0(5) = 1.389 IF( ok_orodr ) clesphy0(6) = 1.390 IF( ok_orolf ) clesphy0(7) = 1.391 IF( ok_limitvrai ) clesphy0(8) = 1.392 393 307 394 308 ccc .... P. Le Van , ajout le 7/03/95 .pour le zoom ... … … 617 531 write(lunout,*)' iflag_phys = ', iflag_phys 618 532 write(lunout,*)' iphysiq = ', iphysiq 619 write(lunout,*)' ecritphy = ', ecritphy620 write(lunout,*)' cycle_diurne = ', cycle_diurne621 write(lunout,*)' soil_model = ', soil_model622 write(lunout,*)' new_oliq = ', new_oliq623 write(lunout,*)' ok_orodr = ', ok_orodr624 write(lunout,*)' ok_orolf = ', ok_orolf625 write(lunout,*)' ok_limitvrai = ', ok_limitvrai626 write(lunout,*)' nbapp_rad = ', nbapp_rad627 write(lunout,*)' iflag_con = ', iflag_con628 533 write(lunout,*)' clonn = ', clonn 629 534 write(lunout,*)' clatt = ', clatt … … 773 678 write(lunout,*)' iflag_phys = ', iflag_phys 774 679 write(lunout,*)' iphysiq = ', iphysiq 775 write(lunout,*)' ecritphy = ', ecritphy776 write(lunout,*)' cycle_diurne = ', cycle_diurne777 write(lunout,*)' soil_model = ', soil_model778 write(lunout,*)' new_oliq = ', new_oliq779 write(lunout,*)' ok_orodr = ', ok_orodr780 write(lunout,*)' ok_orolf = ', ok_orolf781 write(lunout,*)' ok_limitvrai = ', ok_limitvrai782 write(lunout,*)' nbapp_rad = ', nbapp_rad783 write(lunout,*)' iflag_con = ', iflag_con784 680 write(lunout,*)' clonn = ', clonn 785 681 write(lunout,*)' clatt = ', clatt -
LMDZ4/trunk/libf/dyn3d/control.h
r792 r956 13 13 COMMON/control/nday,day_step, & 14 14 & iperiod,iapp_tracvl,iconser,iecri,idissip,iphysiq , & 15 & periodav, ecritphy,iecrimoy,dayref,anneeref,&15 & periodav,iecrimoy,dayref,anneeref, & 16 16 & raz_date,offline,ip_ebil_dyn 17 17 … … 19 19 & idissip,iphysiq,iecrimoy,dayref,anneeref, raz_date & 20 20 & ,ip_ebil_dyn 21 REAL periodav , ecritphy21 REAL periodav 22 22 logical offline 23 23 -
LMDZ4/trunk/libf/dyn3d/defrun.F
r524 r956 195 195 WRITE(tapeout,*) iphysiq 196 196 197 198 ccc .... P.Le Van, ajout le 03/01/96 pour l'ecriture phys ...199 c200 READ (tapedef,9001) ch1,ch4201 READ (tapedef,*) ecritphy202 WRITE(tapeout,9001) ch1,'ecritphy'203 WRITE(tapeout,*) ecritphy204 197 205 198 READ (tapedef,9001) ch1,ch4 -
LMDZ4/trunk/libf/dyn3d/gcm.F
r863 r956 9 9 USE IOIPSL 10 10 #endif 11 12 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 13 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique 14 ! A nettoyer. On ne veut qu'une ou deux routines d'interface 15 ! dynamique -> physique pour l'initialisation 16 #ifdef CPP_PHYS 11 17 USE dimphy 12 18 USE comgeomphy 13 19 USE mod_phys_lmdz_para, ONLY : klon_mpi_para_nb 20 #endif 21 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 22 14 23 IMPLICIT NONE 15 24 … … 170 179 c T : on lit start.nc 171 180 c F : le modele s'autoinitialise avec un cas academique (iniacademic) 172 #ifdef CPP_IOIPSL173 181 read_start=.true. 182 #ifdef CPP_IOIPSL 183 #else 184 read_start=.false. 185 #endif 186 #ifdef CPP_PHYS 174 187 #else 175 188 read_start=.false. … … 197 210 #endif 198 211 212 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 213 ! FH 2008/05/02 214 ! A nettoyer. On ne veut qu'une ou deux routines d'interface 215 ! dynamique -> physique pour l'initialisation 216 #ifdef CPP_PHYS 199 217 CALL Init_Phys_lmdz(iim,jjp1,llm,nqmx-2,1,(jjm-1)*iim+2) 200 218 call InitComgeomphy 219 #endif 220 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 201 221 202 222 #ifdef INCA -
LMDZ4/trunk/libf/dyn3d/ini_paramLMDZ_dyn.h
r692 r956 153 153 . "once", dt_cum,dt_cum) 154 154 c 155 CALL histdef(nid_ctesGCM, "ecritphy",156 ."frequence de l ecriture du fichier histphy en jours",157 . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,158 . "once", dt_cum,dt_cum)159 c160 CALL histdef(nid_ctesGCM, "cycle_diurne",161 ."Avoir un cycle diurne: 1=true, 0=false",162 . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,163 . "once", dt_cum,dt_cum)164 c165 CALL histdef(nid_ctesGCM, "soil_model",166 ."Choix du modele de sol (Thermique ?): 1=true, 0=false",167 . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,168 . "once", dt_cum,dt_cum)169 c170 CALL histdef(nid_ctesGCM, "new_oliq",171 ."Nouvelle eau liquide: 1=true, 0=false",172 . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,173 . "once", dt_cum,dt_cum)174 c175 CALL histdef(nid_ctesGCM, "ok_orodr",176 ."Orography drag : 1=true, 0=false",177 . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,178 . "once", dt_cum,dt_cum)179 c180 CALL histdef(nid_ctesGCM, "ok_orolf",181 ."Orography lift : 1=true, 0=false",182 . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,183 . "once", dt_cum,dt_cum)184 c185 CALL histdef(nid_ctesGCM, "ok_limitvrai",186 ."Force la lecture de la bonne annee: 1=true, 0=false",187 . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,188 . "once", dt_cum,dt_cum)189 c190 CALL histdef(nid_ctesGCM, "nbapp_rad",191 ."Nombre d appels des routines de rayonnements par jour",192 . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,193 . "once", dt_cum,dt_cum)194 c195 CALL histdef(nid_ctesGCM, "iflag_con",196 ."Flag pour la convection: 1=LMD, 2=Tiedtke, 3=KE, 4=KE vect.",197 . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,198 . "once", dt_cum,dt_cum)199 c200 155 CALL histdef(nid_ctesGCM, "clon", 201 156 ."longitude en degres du centre du zoom", -
LMDZ4/trunk/libf/dyn3d/leapfrog.F
r825 r956 63 63 #include "academic.h" 64 64 65 #include "clesphys.h" 65 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique 66 ! #include "clesphys.h" 66 67 67 68 integer nq -
LMDZ4/trunk/libf/dyn3d/tetaleveli1j.F
r947 r956 5 5 c================================================================ 6 6 7 USE dimphy 7 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique 8 ! USE dimphy 8 9 IMPLICIT none 9 10 -
LMDZ4/trunk/libf/dyn3d/tetaleveli1j1.F
r947 r956 5 5 c================================================================ 6 6 7 USE dimphy 7 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique 8 ! USE dimphy 8 9 IMPLICIT none 9 10 -
LMDZ4/trunk/libf/dyn3d/write_paramLMDZ_dyn.h
r825 r956 1 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique 2 ! Attention : il n'y a aucune raison pour ecrire ces constantes 3 ! comme des champs 2D. A corriger un jour ... 4 1 5 c 2 6 ndex2d = 0 … … 119 123 . zx_tmp_2d,iip1*jjp1,ndex2d) 120 124 c 121 zx_tmp_2d(1:iip1,1:jjp1)=ecritphy 122 CALL histwrite(nid_ctesGCM, "ecritphy", itau_w, 123 . zx_tmp_2d,iip1*jjp1,ndex2d) 124 c 125 IF(cycle_diurne) THEN 126 zx_tmp_2d(1:iip1,1:jjp1)=1. 127 ELSE 128 zx_tmp_2d(1:iip1,1:jjp1)=0. 129 ENDIF 130 CALL histwrite(nid_ctesGCM, "cycle_diurne", itau_w, 131 . zx_tmp_2d,iip1*jjp1,ndex2d) 132 c 133 IF(soil_model) THEN 134 zx_tmp_2d(1:iip1,1:jjp1)=1. 135 ELSE 136 zx_tmp_2d(1:iip1,1:jjp1)=0. 137 ENDIF 138 CALL histwrite(nid_ctesGCM, "soil_model", itau_w, 139 . zx_tmp_2d,iip1*jjp1,ndex2d) 140 c 141 IF(new_oliq) THEN 142 zx_tmp_2d(1:iip1,1:jjp1)=1. 143 ELSE 144 zx_tmp_2d(1:iip1,1:jjp1)=0. 145 ENDIF 146 CALL histwrite(nid_ctesGCM, "new_oliq", itau_w, 147 . zx_tmp_2d,iip1*jjp1,ndex2d) 148 c 149 IF(ok_orodr) THEN 150 zx_tmp_2d(1:iip1,1:jjp1)=1. 151 ELSE 152 zx_tmp_2d(1:iip1,1:jjp1)=0. 153 ENDIF 154 CALL histwrite(nid_ctesGCM, "ok_orodr", itau_w, 155 . zx_tmp_2d,iip1*jjp1,ndex2d) 156 c 157 IF(ok_orolf) THEN 158 zx_tmp_2d(1:iip1,1:jjp1)=1. 159 ELSE 160 zx_tmp_2d(1:iip1,1:jjp1)=0. 161 ENDIF 162 CALL histwrite(nid_ctesGCM, "ok_orolf", itau_w, 163 . zx_tmp_2d,iip1*jjp1,ndex2d) 164 c 165 IF(ok_limitvrai) THEN 166 zx_tmp_2d(1:iip1,1:jjp1)=1. 167 ELSE 168 zx_tmp_2d(1:iip1,1:jjp1)=0. 169 ENDIF 170 CALL histwrite(nid_ctesGCM, "ok_limitvrai", itau_w, 171 . zx_tmp_2d,iip1*jjp1,ndex2d) 172 c 173 zx_tmp_2d(1:iip1,1:jjp1)=nbapp_rad 174 CALL histwrite(nid_ctesGCM, "nbapp_rad", itau_w, 175 . zx_tmp_2d,iip1*jjp1,ndex2d) 176 c 177 zx_tmp_2d(1:iip1,1:jjp1)=iflag_con 178 CALL histwrite(nid_ctesGCM, "iflag_con", itau_w, 179 . zx_tmp_2d,iip1*jjp1,ndex2d) 125 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 126 ! FH 2008/05/02 127 ! La variable cycle_diurne n'est pas vue par la dynamique 128 ! IF(cycle_diurne) THEN 129 ! zx_tmp_2d(1:iip1,1:jjp1)=1. 130 ! ELSE 131 ! zx_tmp_2d(1:iip1,1:jjp1)=0. 132 ! ENDIF 133 ! CALL histwrite(nid_ctesGCM, "cycle_diurne", itau_w, 134 ! . zx_tmp_2d,iip1*jjp1,ndex2d) 135 ! 136 ! IF(soil_model) THEN 137 ! zx_tmp_2d(1:iip1,1:jjp1)=1. 138 ! ELSE 139 ! zx_tmp_2d(1:iip1,1:jjp1)=0. 140 ! ENDIF 141 ! CALL histwrite(nid_ctesGCM, "soil_model", itau_w, 142 ! . zx_tmp_2d,iip1*jjp1,ndex2d) 143 ! 144 ! IF(new_oliq) THEN 145 ! zx_tmp_2d(1:iip1,1:jjp1)=1. 146 ! ELSE 147 ! zx_tmp_2d(1:iip1,1:jjp1)=0. 148 ! ENDIF 149 ! CALL histwrite(nid_ctesGCM, "new_oliq", itau_w, 150 ! . zx_tmp_2d,iip1*jjp1,ndex2d) 151 ! 152 ! IF(ok_orodr) THEN 153 ! zx_tmp_2d(1:iip1,1:jjp1)=1. 154 ! ELSE 155 ! zx_tmp_2d(1:iip1,1:jjp1)=0. 156 ! ENDIF 157 ! CALL histwrite(nid_ctesGCM, "ok_orodr", itau_w, 158 ! . zx_tmp_2d,iip1*jjp1,ndex2d) 159 ! 160 ! IF(ok_orolf) THEN 161 ! zx_tmp_2d(1:iip1,1:jjp1)=1. 162 ! ELSE 163 ! zx_tmp_2d(1:iip1,1:jjp1)=0. 164 ! ENDIF 165 ! CALL histwrite(nid_ctesGCM, "ok_orolf", itau_w, 166 ! . zx_tmp_2d,iip1*jjp1,ndex2d) 167 ! 168 ! IF(ok_limitvrai) THEN 169 ! zx_tmp_2d(1:iip1,1:jjp1)=1. 170 ! ELSE 171 ! zx_tmp_2d(1:iip1,1:jjp1)=0. 172 ! ENDIF 173 ! CALL histwrite(nid_ctesGCM, "ok_limitvrai", itau_w, 174 ! . zx_tmp_2d,iip1*jjp1,ndex2d) 175 ! 176 ! zx_tmp_2d(1:iip1,1:jjp1)=nbapp_rad 177 ! CALL histwrite(nid_ctesGCM, "nbapp_rad", itau_w, 178 ! . zx_tmp_2d,iip1*jjp1,ndex2d) 179 ! 180 ! zx_tmp_2d(1:iip1,1:jjp1)=iflag_con 181 ! CALL histwrite(nid_ctesGCM, "iflag_con", itau_w, 182 ! . zx_tmp_2d,iip1*jjp1,ndex2d) 183 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 180 184 c 181 185 zx_tmp_2d(1:iip1,1:jjp1)=clon
Note: See TracChangeset
for help on using the changeset viewer.