Changeset 76
- Timestamp:
- Feb 21, 2011, 2:58:25 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 10 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/chantiers/commit_importants.log
r66 r76 479 479 * caladvtrac.F (dyn3d) : modifications cosmétiques 480 480 481 481 ******************** 482 **** commit_v76 **** etape importante d'une serie de commit sur les traceurs dans le mesoscale 483 ******************** 484 485 LMD_MM_MARS: remise a plat du traitement des traceurs terminee 486 [en particulier en vue de l'utilisation nouvelle physique] 487 --> fonctionnement concluant sur un cas Tharsis hydro 61x61x61 488 --> ne pas utiliser le cas FASTCASE trop instable avec traceurs 489 --> reste a tester l'effet d'especes radiativement actives 490 491 options dans namelist.input : 492 mars = 0 ---> pas de traceurs 493 mars = 1 ---> cycle de l'eau : water vapour + ice 494 mars = 2 ---> cycle poussieres : un dust bin 495 mars = 3 ---> cycle poussieres : dustq + dustn [NOUVELLE PHYS seulement] 496 mars = 11 ---> cycle de l'eau + poussieres [1+3] [NOUVELLE PHYS seulement] 497 NB: pour les deux derniers, reste un petit travail mineur sur qsurf 498 (voir dans module_lmd_driver.F) 499 il faut definir conjointement le callphys.def associe et relancer real.exe 500 (sinon on transporte juste dynamiquement des 'dummy' traceurs) 501 il n'est necessaire de recompiler que si le nombre total de traceurs change 502 503 Fichiers a mettre a jour si l'on ajoute une option "mars" dans le Registry 504 -------------------------------------------------------------------------- 505 Attention suivant les inputs GCM, il faut peut etre egalement changer 506 1. readmeteo.F90 dans PREP_MARS et 2. METGRID.TBL dans WPS/metgrid 507 508 M 75 mesoscale/LMD_MM_MARS/SRC/WRFV2/Registry/Registry.EM 509 ---> definition du scenario et de l'ordre des traceurs dans SCALAR 510 511 M 75 mesoscale/LMD_MM_MARS/SRC/WRFV2/dyn_em/module_initialize_real.F 512 ---> definition des interpolations verticales des champs de traceurs venant du GCM 513 514 M 75 mesoscale/LMD_MM_MARS/SRC/WRFV2/dyn_em/solve_em.F 515 ---> definition du traitement a reserver aux bornes 516 ---> --- dans les 4 scenarios precites, on passe aux bornes les champs du GCM 517 [y compris QH2O_ICE contrairement a ce qui etait par defaut precedemment] 518 ---> --- les lignes relatives a un flux nul aux bornes sont laissees a un cas hypothetique mars>50 519 520 M 75 mesoscale/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F 521 ---> definition de l'ordre correct des traceurs pour le passage a la physique 522 ---> recuperation des tendances de la physique pour passage a la dynamique 523 ---> NB: c'est dans ce module que sont presents des STOP si mars = 4-10 ou mars > 11 524 .... il faut donc modifier si l'on ajoute des options 525 526 M 75 mesoscale/LMD_MM_MARS/SRC/WRFV2/main/real_em.F 527 ---> definition et calcul des champs a appliquer aux bornes 528 ---> generalise desormais, il n'y a plus qu'a ajouter d'eventuelles nouvelles options 'mars' 529 ---> .... des modifications sont necessaires si on passe plus de 4 traceurs aux bornes 530 531 M 75 mesoscale/LMD_MM_MARS/SIMU/runmeso 532 ---> definition du bon nombre de traceurs dans la compilation de la physique puis l'execution 533 [l'option mars est lue par le script dans namelist.input] 534 535 Fichiers tests 536 -------------- 537 A 0 mesoscale/TESTS/newphys_tracers/* 538 ---> pour la nouvelle physique (ici seulement les fichiers def) 539 ---> toutes les options precitees ont ete testes avec succes a l'execution [pas de crash] 540 ---> ... plausibilite physique verifiee rapidement, PAS d'ANALYSE APPROFONDIE pour le moment 541 542 A 0 mesoscale/TESTS/LMD_MM_MARS_TESTCASE_water.tar.gz 543 ---> pour l'ancienne physique (introduit precedemment mais n'avait pas ete synchronise) 544 545 M 75 mars/libf/phymars/meso_dustlift.F 546 NB: correction mineure, de facon a recuperer alpha_lift de initracer -
trunk/mars/libf/phymars/meso_dustlift.F
r49 r76 52 52 IF(ierr.NE.0) THEN 53 53 stress_seuil = 0.0225 54 alpha = 1. 55 write(*,*) 'No file stress.def - set ', stress_seuil, alpha 54 !!!! defini dans initracer 55 ! alpha = 1. 56 write(*,*) 'No file stress.def - set ', 57 . stress_seuil, alpha_lift 56 58 !stop 57 59 ELSE … … 60 62 write(*,*) 'definir seuil stress : ', stress_seuil, alpha 61 63 CLOSE(99) 64 alpha_lift(1) = alpha 62 65 ENDIF 63 alpha_lift(1) = alpha64 66 !****WRF 65 67 !****WRF -
trunk/mesoscale/LMD_MM_MARS/SIMU/runmeso
r60 r76 164 164 0) tracers='1' ;; 165 165 1) tracers='2' ;; 166 11) tracers='5' ;; 166 2) tracers='1' ;; 167 3) tracers='2' ;; 168 11) tracers='4' ;; 167 169 *) tracers='1' ;; 168 170 esac -
trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2/Registry/Registry.EM
r72 r76 111 111 #### 112 112 state real - ikjftb scalar 1 - - - 113 state real QH2O ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "QH2O" "Water vapor mixing ratio" "kg kg-1" 114 state real QH2O_ICE ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "QH2O_ICE" "Water ice mixing ratio" "kg kg-1" 115 state real QDUST ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "QDUST" "Dust mixing ratio" "kg kg-1" 116 #### 117 state real Qco2 ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "Qco2" "CO2 mixing ratio" "kg kg-1" 118 #state real Qdust_mass ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "Qdust_mass" "dust_mass mixing ratio" "kg kg-1" 119 state real Qdust_number ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "Qdust_number" "dust_number mixing ratio" "kg kg-1" 120 #state real Qh2o_vap ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "Qh2o_vap" "h2o_vap mixing ratio" "kg kg-1" 121 #state real Qh2o_ice ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "Qh2o_ice" "h2o_ice mixing ratio" "kg kg-1" 113 state real qh2o ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "QH2O" "Water vapor mixing ratio" "kg kg-1" 114 state real qh2o_ice ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "QH2O_ICE" "Water ice mixing ratio" "kg kg-1" 115 state real qdust ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "QDUST" "Dust mixing ratio" "kg kg-1" 116 state real qdustn ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "QDUSTN" "Dust_number mixing ratio" "kg kg-1" 117 state real qco2 ikjftb scalar 1 - i01rhusdf=(bdy_interp:dt) "QCO2" "CO2 mixing ratio" "kg kg-1" 122 118 #### 123 119 #### … … 1322 1318 ##### MARS OPTIONS 1323 1319 ## 1324 ## CHANGING THE OPTION CHANGE THE NUMBER OF TRACERS WITHOUT ANY NEED TO RECOMPILE ENTIRELY WRF 1325 ## HOWEVER, YOU STILL NEED TO RECOMPILE THE PHYSICS BEFORE CHANGING THE OPTION 1326 ## JUST USE THE COMPILE_ALL SCRIPT FOR A FAST RECOMPILATION 1327 ## ------- 1328 ## ONE REMAINING PROBLEM IS THE FACT THAT YOU NEED TO RECOMPILE 1329 ## ENTIRELY IF YOU DO NOT WANT TO OUTPUT THE TRACERS 1330 ## (FOR EXAMPLE, IF THEY ARE TURNED OFF ...) 1331 ## ------- 1320 ## CHANGING THE OPTION CHANGES TRACER REFERENCES WITHOUT ANY NEED TO RECOMPILE ENTIRELY LMD_MM 1321 ## --> EVEN IF FIELDS ARE SCHEDULED FOR OUTPUTS ABOVE [WITH h], THESE ARE NOT IN wrfout* FILES 1322 ## UNLESS THE CORRESPONDING mars OPTION IS SELECTED 1323 ## --> HOWEVER, YOU STILL NEED TO RECOMPILE THE PHYSICS BEFORE CHANGING THE OPTION 1324 ## AND PROBABLY YOU'LL ALSO HAVE TO CHANGE callphys.def 1325 ## --> IF mars IS CHANGED IN THE NAMELIST, YOU HAVE TO RE-RUN real.exe 1332 1326 ## 1327 ## IF YOU ADD A mars REFERENCE BELOW, YOU HAVE TO RECOMPILE ENTIRELY THE MODEL 1333 1328 ## 1334 package nowater mars==0 - moist:qv 1335 package water mars==1 - moist:qv;scalar:qh2o,qh2o_ice 1336 package d ust mars==2 - moist:qv;scalar:qdust1337 #package newwater mars==11 - scalar:qco2,qh2o,qh2o_ice1338 #package newwater mars==11 - scalar:qco2,qh2o,qh2o_ice,qdust,qdust_number 1339 ### NOTE: toujours CO2 en dernier 1340 package newwater mars==11 - scalar:qh2o,qh2o_ice,qdust,qdust _number,qco21329 ## THE ORDER of TRACERS IN EACH OPTION IS VERY IMPORTANT 1330 ## 1331 package default mars==0 - - 1332 package water mars==1 - scalar:qh2o,qh2o_ice 1333 package dust1 mars==2 - scalar:qdust 1334 package dust2eq mars==3 - scalar:qdust,qdustn 1335 package newwater mars==11 - scalar:qh2o,qh2o_ice,qdust,qdustn 1341 1336 ##### MARS OPTIONS 1342 1337 ##### MARS OPTIONS … … 1352 1347 package ncepcloud3 mp_physics==98 - moist:qv,qc,qr 1353 1348 package ncepcloud5 mp_physics==99 - moist:qv,qc,qr,qi,qs 1354 package thompson mp_physics==8- moist:qv,qc,qr,qi,qs,qg;scalar:qni1349 package thompson mp_physics==8 - moist:qv,qc,qr,qi,qs,qg;scalar:qni 1355 1350 1356 1351 package rrtmscheme ra_lw_physics==1 - - -
trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2/dyn_em/module_initialize_real.F
r75 r76 1259 1259 its , ite , jts , jte , kts , kte ) 1260 1260 1261 1262 if ( config_flags%mars == 2 ) then 1263 print *, '**** ONE DUST BIN ****' 1264 print *, '**** I assume this is dustq in met_em ****' 1261 1262 !!!!!!****MARS****!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1263 !!!!!! ****MARS MARS MARS for order in rank for each option, check in REGISTRY.EM 1264 !!!!!! [a little bit too hardcoded here unfortunately... but e.g. P_QH2O must be known] 1265 !!!!!! [there is a more flexible option with flags in metgrid.tbl, TBD?] 1266 !!!!!! NB: real_em.F must also be modified 1267 !!!!!! NB2: qvapor is not used to avoid collision with earth-related calculations 1268 if ( ( config_flags%mars == 2 ) .OR. ( config_flags%mars == 3 ) ) then 1269 print *, '**** INTERPOLATE DUSTQ **** RANK 2 in SCALAR' 1265 1270 CALL vert_interp_old ( grid%em_dustq_gc , grid%em_pd_gc , scalar(:,:,:,2) , grid%em_pb , & 1266 1271 num_metgrid_levels , 'Q' , & … … 1271 1276 its , ite , jts , jte , kts , kte ) 1272 1277 endif 1273 1274 if ( (config_flags%mars == 1) .OR. (config_flags%mars == 11) ) then 1275 !if (size(scalar(0,0,0,:)) > 2) then 1276 !! autre possibilite: activer les flags dans metgrid.tbl 1277 !! 1278 !! pour l'instant les indices sont indiqués en dur en attendant plus souple 1279 !! 1280 !! 1281 1282 print *, '**** WATER CYCLE ON ****' 1283 print *, size(scalar(0,0,0,:)), P_QH2O, P_QH2O_ICE 1284 1285 1286 !!****MARS: initialization for water cycle 1287 !!****MARS: 1288 !!****MARS: -- note that -real.F was modified to include GCM QH2O boundary conditions 1289 !!****MARS: -qvapor was not used to avoid any terrestrial calculations in WRF unsuitable for Mars 1290 !!****MARS: -any change and/or modification of variables has to be recorded in the Registry 1291 !!****MARS: 1292 !CALL vert_interp_old ( grid%em_hv_gc , grid%em_pd_gc , scalar(:,:,:,P_QH2O) , grid%em_pb , & 1293 CALL vert_interp_old ( grid%em_hv_gc , grid%em_pd_gc , scalar(:,:,:,2) , grid%em_pb , & 1278 if ( ( config_flags%mars == 3 ) ) then 1279 print *, '**** INTERPOLATE DUSTN **** RANK 3 in SCALAR' 1280 CALL vert_interp_old ( grid%em_dustn_gc , grid%em_pd_gc , scalar(:,:,:,3) , grid%em_pb , & 1294 1281 num_metgrid_levels , 'Q' , & 1295 1282 interp_type , lagrange_order , lowest_lev_from_sfc , & … … 1298 1285 ims , ime , jms , jme , kms , kme , & 1299 1286 its , ite , jts , jte , kts , kte ) 1300 !CALL vert_interp_old ( grid%em_hi_gc , grid%em_pd_gc , scalar(:,:,:,P_QH2O_ICE) , grid%em_pb , & 1301 CALL vert_interp_old ( grid%em_hi_gc , grid%em_pd_gc , scalar(:,:,:,3) , grid%em_pb , & 1287 endif 1288 if ( ( config_flags%mars == 1 ) .OR. ( config_flags%mars == 11 ) ) then 1289 print *, '**** INTERPOLATE HV **** RANK 2 in SCALAR' 1290 !print *, size(scalar(0,0,0,:)), P_QH2O, P_QH2O_ICE 1291 CALL vert_interp_old ( grid%em_hv_gc , grid%em_pd_gc , scalar(:,:,:,2) , grid%em_pb , & 1302 1292 num_metgrid_levels , 'Q' , & 1303 1293 interp_type , lagrange_order , lowest_lev_from_sfc , & … … 1306 1296 ims , ime , jms , jme , kms , kme , & 1307 1297 its , ite , jts , jte , kts , kte ) 1308 !!****MARS: 1309 1298 print *, '**** INTERPOLATE HI **** RANK 3 in SCALAR' 1299 CALL vert_interp_old ( grid%em_hi_gc , grid%em_pd_gc , scalar(:,:,:,3) , grid%em_pb , & 1300 num_metgrid_levels , 'Q' , & 1301 interp_type , lagrange_order , lowest_lev_from_sfc , & 1302 zap_close_levels , force_sfc_in_vinterp , & 1303 ids , ide , jds , jde , kds , kde , & 1304 ims , ime , jms , jme , kms , kme , & 1305 its , ite , jts , jte , kts , kte ) 1310 1306 endif 1311 1307 #ifdef NEWPHYS 1312 if (config_flags%mars == 11) then 1313 print *, '**** DUST var RADIUS ON ****' 1314 !print *, size(scalar(0,0,0,:)), P_QDUST, P_Qdust_number 1315 1308 if ( config_flags%mars == 11 ) then 1309 print *, '**** INTERPOLATE DUSTQ **** RANK 4 in SCALAR' 1316 1310 CALL vert_interp_old ( grid%em_dustq_gc , grid%em_pd_gc , scalar(:,:,:,4) , grid%em_pb , & 1317 1311 num_metgrid_levels , 'Q' , & … … 1321 1315 ims , ime , jms , jme , kms , kme , & 1322 1316 its , ite , jts , jte , kts , kte ) 1323 1317 print *, '**** INTERPOLATE DUSTQ **** RANK 5 in SCALAR' 1324 1318 CALL vert_interp_old ( grid%em_dustn_gc , grid%em_pd_gc , scalar(:,:,:,5) , grid%em_pb , & 1325 1319 num_metgrid_levels , 'Q' , & … … 1331 1325 endif 1332 1326 #endif 1327 !!!!!!****MARS****!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1333 1328 1334 1329 #if 0 -
trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2/dyn_em/solve_em.F
r75 r76 2692 2692 IF ( ( config_flags%specified .or. config_flags%nested ) .and. rk_step == 1) THEN 2693 2693 2694 !!!!****MARS MARS MARS: what to do with tracers at the boundaries ??? 2695 IF ( ( (config_flags%mars .eq. 1) .AND. (is .EQ. 2) ) & !! 1 pass only water vapor 2694 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2695 !!!!****MARS MARS MARS: what to do with tracers at the boundaries ??? !!!!! 2696 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2697 !IF ( ( (config_flags%mars .eq. 1) .AND. (is .EQ. 2) ) & !! 1 pass only water vapor 2698 IF ( ( config_flags%mars .eq. 1 ) & !! 1 pass water vapor AND ice 2696 2699 .OR. ( config_flags%mars .eq. 2 ) & !! 2 pass the dust tracer 2697 .OR. ( (config_flags%mars .eq. 11) .AND. (is .EQ. 2) ) & !! 11 pass only water vapor 2700 .OR. ( config_flags%mars .eq. 3 ) & !! 3 pass dust Q and N 2701 ! .OR. ( (config_flags%mars .eq. 11) .AND. (is .EQ. 2) ) & !! 11 pass only water vapor 2702 .OR. ( config_flags%mars .eq. 11 ) & !! 11 pass EVERYTHING 2698 2703 .OR. config_flags%nested ) THEN !! * pass all tracers if nested 2699 2704 CALL relax_bdy_scalar ( scalar_tend(ims,kms,jms,is), & … … 2752 2757 k_start , k_end ) 2753 2758 2754 !!!!****MARS: if parent domain and any other tracer than water vapor, no bdy and simple zero flux bdy condition 2755 IF ( config_flags%specified ) THEN 2756 IF ( ((config_flags%mars .eq. 1 ) .and. (is .ne. 2)) & 2757 .OR. ((config_flags%mars .eq. 11) .and. (is .ne. 2)) ) THEN 2759 !!!!!****MARS: if parent domain and any other tracer than water vapor, no bdy and simple zero flux bdy condition 2760 IF ( config_flags%specified ) THEN 2761 !IF ( ((config_flags%mars .eq. 1 ) .and. (is .ne. 2)) & 2762 ! .OR. ((config_flags%mars .eq. 11) .and. (is .ne. 2)) ) THEN 2763 IF ( config_flags%mars .gt. 50 ) THEN 2758 2764 2759 2765 !!! YOU HAVE TO ADD A CONDITION HERE IF YOU ADD A mars OPTION in REGISTRY !!! -
trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2/main/real_em.F
r75 r76 711 711 !!!!!MARS: ... mais il est facile d'en ajouter... ajouter simplement des tableaux type q2bdy3dtemp1 712 712 IF ( (config_flags%mars .eq. 1) .OR. & 713 (config_flags%mars .eq. 3) .OR. & 713 714 (config_flags%mars .eq. 11) ) THEN 714 715 CALL couple ( grid%em_mu_2 , grid%em_mub , q2bdy3dtemp1 , grid%scalar(:,:,:,3) , 't' , grid%msft , & … … 784 785 ENDIF 785 786 IF ( (config_flags%mars .eq. 1) .OR. & 787 (config_flags%mars .eq. 3) .OR. & 786 788 (config_flags%mars .eq. 11) ) THEN 787 789 CALL stuff_bdy ( q2bdy3dtemp1 , grid%scalar_b(:,:,:,:,3) , 'T' , ijds , ijde , spec_bdy_width , & … … 860 862 ENDIF 861 863 IF ( (config_flags%mars .eq. 1) .OR. & 864 (config_flags%mars .eq. 3) .OR. & 862 865 (config_flags%mars .eq. 11) ) THEN 863 866 CALL couple ( grid%em_mu_2 , grid%em_mub , q2bdy3dtemp2 , grid%scalar(:,:,:,3) , 't' , grid%msft , & … … 937 940 ENDIF 938 941 IF ( (config_flags%mars .eq. 1) .OR. & 942 (config_flags%mars .eq. 3) .OR. & 939 943 (config_flags%mars .eq. 11) ) THEN 940 944 CALL stuff_bdytend ( q2bdy3dtemp2 , q2bdy3dtemp1 , REAL(interval_seconds) ,grid%scalar_bt(:,:,:,:,3) , 'T' , & … … 1107 1111 ENDIF 1108 1112 IF ( (config_flags%mars .eq. 1) .OR. & 1113 (config_flags%mars .eq. 3) .OR. & 1109 1114 (config_flags%mars .eq. 11) ) THEN 1110 1115 CALL stuff_bdy ( q2bdy3dtemp1 , grid%scalar_b(:,:,:,:,3) , 'T', ijds , ijde , spec_bdy_width , & -
trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
r75 r76 618 618 !!!!!!!!!!!!!!!!!!!!!!!!!!!! 619 619 !!!!!!!!!!!!!!!!!!!!!!!!!!!! 620 #ifdef NEWPHYS 621 !!! name of tracers -- see Registry.EM for order and traceur.def for names 620 621 SELECT CASE (MARS_MODE) !! ONLY ALLOW FOR MODES DEFINED IN Registry.EM 622 CASE(4-10,12:) !! -- CHANGE THIS if YOU ADDED CASES in REGISTRY.EM 623 PRINT *, 'NOT SUPPORTED, to be done' 624 STOP 625 END SELECT 626 !!!!!!!!!!!!!!!!!!! FOR REFERENCE ; FROM REGISTRY.EM 627 !package default mars==0 - - 628 !package water mars==1 - scalar:qh2o,qh2o_ice 629 !package dust1 mars==2 - scalar:qdust 630 !package dust2eq mars==3 - scalar:qdust,qdustn 631 !package newwater mars==11 - scalar:qh2o,qh2o_ice,qdust,qdustn 632 !!!!!!!!!!!!!!!!!!! FOR REFERENCE 633 634 #ifdef NEWPHYS 635 !!! name of tracers to mimic entries in tracer.def 636 !!! ----> IT IS IMPORTANT TO KEEP SAME ORDERING AS IN THE REGISTRY !!!! 637 !!! SAME NAMING AS IN THE LMD PHYSICS !!!! 622 638 SELECT CASE (MARS_MODE) 623 CASE(0) !! NO TRACERS (mars=0)639 CASE(0) 624 640 wtnom(nq) = 'co2' 625 641 CASE(1) 626 wtnom(1) = 'h2o_vap'627 wtnom(2) = 'h2o_ice'642 wtnom(1) = 'h2o_vap' 643 wtnom(2) = 'h2o_ice' 628 644 CASE(2) 629 wtnom(1) = 'dust01' 630 CASE(11) !! newwater mars==11 scalar:qh2o,qh2o_ice,qdust,qdust_number,qco2 631 wtnom(1) = 'h2o_vap' 632 wtnom(2) = 'h2o_ice' 633 wtnom(3) = 'dust_mass' 634 wtnom(4) = 'dust_number' 635 wtnom(nq) = 'co2' 645 wtnom(1) = 'dust01' 646 CASE(3) 647 wtnom(1) = 'dust_mass' 648 wtnom(2) = 'dust_number' 649 CASE(11) 650 wtnom(1) = 'h2o_vap' 651 wtnom(2) = 'h2o_ice' 652 wtnom(3) = 'dust_mass' 653 wtnom(4) = 'dust_number' 636 654 END SELECT 637 655 #endif 656 657 658 !!*******************************************!! 659 !!*******************************************!! 638 660 639 661 DO j = jps,jpe … … 685 707 water_vapor_prof(:) = 0. 686 708 water_ice_prof(:) = 0. 709 CASE(3:) 710 print *, 'OOOPS... not ready yet.' 711 STOP 687 712 END SELECT 688 713 #endif … … 799 824 !-------------------! 800 825 SELECT CASE (MARS_MODE) 801 CASE(0) !! NO TRACERS (mars=0)826 CASE(0) 802 827 qsurf_val(:)=0. 803 CASE(1) !! WATER CYCLE (mars=1)804 #ifdef NEWPHYS828 CASE(1) 829 qsurf_val(1)=0. 805 830 qsurf_val(2)=MARS_WICE(i,j) !! logique avec wtnom(2) = 'h2o_ice' defini ci-dessus 831 !! ----- retrocompatible ancienne physique 832 !! ----- [H2O ice is tracer nqmx in qsurf in LMD physics] 833 CASE(2) 834 qsurf_val(1)=10000. !! infinite amount of dust, basically 835 #ifdef NEWPHYS 836 CASE(3) 837 qsurf_val(:)=0. !!! temporaire, a definir 838 CASE(11) 806 839 qsurf_val(1)=0. 840 qsurf_val(2)=MARS_WICE(i,j) !! logique avec wtnom(2) = 'h2o_ice' defini ci-dessus 841 !!!! petit probleme... alors QSURF sorti dans wrfout n'est pas h2o_ice ! 842 qsurf_val(3)=10000. !! infinite amount of dust, basically 807 843 #else 808 qsurf_val(2)=MARS_WICE(i,j) !! attention... H2O ice is tracer nqmx in qsurf in LMD physics 809 qsurf_val(1)=0. 810 #endif 811 CASE(2) !! DUST CYCLE (mars=2) 812 qsurf_val(1)=10000. !! infinite amount, basically 813 #ifdef NEWPHYS 814 CASE(11) 815 qsurf_val(:)=0. !! provisoire 816 #endif 844 CASE(3:) 845 print *, 'OOOPS... not ready yet.' 846 STOP 847 #endif 848 817 849 END SELECT 818 850 … … 950 982 CASE(2) !! DUST CYCLE (mars=2) 951 983 pq(subs,:,nq) = water_vapor_prof(:) !! NB: which is 0, actually (see above) 984 CASE(3:) 985 print *, 'OOOPS... not ready yet.' 986 STOP 952 987 END SELECT 953 988 #endif … … 1158 1193 !!! Dust 1159 1194 SCALAR(i,kps:kpe,j,2)=SCALAR(i,kps:kpe,j,2)+pdq(subs,kps:kpe,nq) 1160 !!CASE(11) !!! 1195 CASE(3:) 1196 print *, 'OOOPS... not ready yet.' 1197 STOP 1161 1198 END SELECT 1162 1199 #endif
Note: See TracChangeset
for help on using the changeset viewer.