Changeset 324
- Timestamp:
- Oct 21, 2011, 11:31:28 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 9 edited
-
LMDZ.MARS/README (modified) (1 diff)
-
LMDZ.MARS/libf/phymars/initracer.F (modified) (4 diffs)
-
LMDZ.MARS/libf/phymars/tracer.h (modified) (2 diffs)
-
MESOSCALE/LMD_MM_MARS/SIMU/runmeso (modified) (1 diff)
-
MESOSCALE/LMD_MM_MARS/SRC/PREP_MARS/compile_pgf (modified) (1 diff)
-
MESOSCALE/LMD_MM_MARS/SRC/PREP_MARS/readmeteo.F90 (modified) (8 diffs)
-
MESOSCALE/LMD_MM_MARS/SRC/WRFV2/Registry/Registry.EM (modified) (2 diffs)
-
MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F (modified) (6 diffs)
-
MESOSCALE_DEV/PLOT/SPEC/GW/gravitwaveprof.pro (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/README
r321 r324 1093 1093 Also adapted 'inichim_readcallphys': removed some obsolescent tests on 1094 1094 number of tracers for given combinations of options. 1095 1096 == 21/10/2011 == AS 1097 - Added possibility for CH4 tracer in tracer.h and initracer.F -
trunk/LMDZ.MARS/libf/phymars/initracer.F
r283 r324 342 342 count=count+1 343 343 endif 344 if (noms(iq).eq."ch4") then 345 igcm_ch4=iq 346 mmol(igcm_ch4)=16. 347 count=count+1 348 endif 344 349 if (noms(iq).eq."ar") then 345 350 igcm_ar=iq … … 347 352 count=count+1 348 353 endif 349 if (noms(iq).eq."n") then354 if (noms(iq).eq."n") then 350 355 igcm_n=iq 351 356 mmol(igcm_n)=14. … … 402 407 count=count+1 403 408 endif 404 if (noms(iq).eq."n2plus") then409 if (noms(iq).eq."n2plus") then 405 410 igcm_n2plus=iq 406 411 mmol(igcm_n2plus)=28. … … 433 438 count=count+1 434 439 endif 435 440 436 441 437 442 enddo ! of do iq=1,nqmx -
trunk/LMDZ.MARS/libf/phymars/tracer.h
r171 r324 50 50 integer :: igcm_no2 51 51 integer :: igcm_n2d 52 integer :: igcm_ch4 52 53 ! Ions 53 54 integer :: igcm_co2plus … … 74 75 & igcm_o2,igcm_o3,igcm_h,igcm_h2,igcm_oh,igcm_ho2,igcm_h2o2, & 75 76 & igcm_n2,igcm_ar,igcm_n,igcm_no,igcm_no2,igcm_n2d, & 77 & igcm_ch4, & 76 78 & igcm_co2plus,igcm_oplus,igcm_o2plus,igcm_coplus,igcm_cplus, & 77 79 & igcm_nplus,igcm_noplus,igcm_n2plus,igcm_hplus,igcm_elec, & -
trunk/MESOSCALE/LMD_MM_MARS/SIMU/runmeso
r279 r324 178 178 3) tracers='2' ;; 179 179 11) tracers='4' ;; 180 42) tracers='18' ;; 180 181 *) tracers='1' ;; 181 182 esac -
trunk/MESOSCALE/LMD_MM_MARS/SRC/PREP_MARS/compile_pgf
r235 r324 8 8 -L$NETCDF/lib -lnetcdf \ 9 9 -I$NETCDF/include \ 10 -o readmeteo.exe 10 -o readmeteo.exe #-DPHOTOCHEM 11 11 12 12 pgf90 create_readmeteo.F90 \ 13 13 -L$NETCDF/lib -lnetcdf \ 14 14 -I$NETCDF/include \ 15 -o create_readmeteo.exe 15 -o create_readmeteo.exe #-DPHOTOCHEM \ 16 16 17 17 \rm fix_no_info.inc 2> /dev/null -
trunk/MESOSCALE/LMD_MM_MARS/SRC/PREP_MARS/readmeteo.F90
r73 r324 98 98 character*13, dimension(:), allocatable :: date_out 99 99 character*19, dimension(:), allocatable :: date_out2 100 101 #ifdef PHOTOCHEM 102 real, dimension(:,:,:,:,:), allocatable :: chemtrac 103 integer :: nchemtrac,i 104 CHARACTER*20,DIMENSION(:),ALLOCATABLE :: wtnom 105 #endif 106 107 100 108 !*************************************************************************** 101 109 !*************************************************************************** … … 230 238 allocate(interm(lonlen,latlen)) 231 239 allocate(gwparam(lonlen,latlen,5)) 232 allocate(ghtsfile(lonlen,latlen)) !! no scan axis240 allocate(ghtsfile(lonlen,latlen)) !! no scan axis 233 241 allocate(vide(lonlen,latlen)) 234 242 allocate(ones(lonlen,latlen)) 235 243 allocate(lat(latlen), lon(lonlen), alt(altlen), time(timelen)) 236 244 allocate(aps(altlen),bps(altlen),levels(altlen)) 245 #ifdef PHOTOCHEM 246 nchemtrac = 14 247 allocate(wtnom(nchemtrac)) 248 wtnom(1) = "c_co2" 249 wtnom(2) = "c_co" 250 wtnom(3) = "c_o" 251 wtnom(4) = "c_o1d" 252 wtnom(5) = "c_o2" 253 wtnom(6) = "c_o3" 254 wtnom(7) = "c_h" 255 wtnom(8) = "c_h2" 256 wtnom(9) = "c_oh" 257 wtnom(10) = "c_ho2" 258 wtnom(11) = "c_h2o2" 259 wtnom(12) = "c_ch4" 260 wtnom(13) = "c_n2" 261 wtnom(14) = "c_ar" 262 allocate(chemtrac(lonlen,latlen,altlen,timelen,nchemtrac)) 263 chemtrac(:,:,:,:,:)=0 264 #endif 237 265 238 266 tfile(:,:,:,:)=0 … … 523 551 IF (ierr .NE. NF_NOERR) THEN 524 552 ierr = NF_INQ_VARID (nid,"t",nvarid) 525 IF (ierr .NE. NF_NOERR) THEN553 IF (ierr .NE. NF_NOERR) THEN 526 554 PRINT *, "Error: Readmeteo <t> not found" 527 555 stop 528 ENDIF556 ENDIF 529 557 ENDIF 530 558 #ifdef NC_DOUBLE … … 627 655 !! special dust stuff 628 656 !!------------------------ 629 630 657 631 658 !SELECT CASE(ident) … … 677 704 !!!!!!!! 678 705 !!!!!!!! new physics 706 707 708 !!!!!!!!!!!!!!!!!!!!!!!!NEW PHYSICS + PHOTOCHEM 709 !!!!!!!!!!!!!!!!!!!!!!!!NEW PHYSICS + PHOTOCHEM 710 #ifdef PHOTOCHEM 711 print *,'photochem' 712 DO i=1,nchemtrac 713 print *,wtnom(i) 714 ierr=NF_INQ_VARID(nid,wtnom(i),nvarid) 715 if (ierr.ne.NF_NOERR) then 716 write(*,*) "...No ",wtnom(i), " - set to 0" 717 chemtrac(:,:,:,:,i)=0. 718 else 719 ierr=NF_GET_VAR_REAL(nid,nvarid,chemtrac(:,:,:,:,i)) 720 endif 721 ENDDO 722 #endif 723 !!!!!!!!!!!!!!!!!!!!!!!!NEW PHYSICS + PHOTOCHEM 724 !!!!!!!!!!!!!!!!!!!!!!!!NEW PHYSICS + PHOTOCHEM 725 679 726 680 727 … … 1192 1239 !print *,'The field '//DESC//' was written to '//output 1193 1240 1241 !------------------------! 1242 ! >>> Write a variable ! 1243 ! PHOTOCHEMISTRY ! 1244 !------------------------! 1245 #ifdef PHOTOCHEM 1246 DO i=1,nchemtrac 1247 FIELD=wtnom(i) 1248 UNITS='units' 1249 DESC='desc' 1250 XLVL=200100. 1251 SLAB=chemtrac(:,:,1,time_out(l),i) 1252 ! And now put everything in the destination file 1253 ! ... Header 1254 write(1) IFV 1255 write(1) HDATE,XFCST,SOURCE,FIELD,UNITS,DESC,XLVL,NX,NY,IPROJ 1256 write(1) STARTLOC,STARTLAT,STARTLON,DELTALAT,DELTALON 1257 ! ... Data 1258 write(1) SLAB 1259 ENDDO 1260 #endif 1194 1261 1195 1262 !!---------------------------------------------------- … … 1455 1522 END DO 1456 1523 !print *,'The field '//DESC//' was written to '//output 1524 1525 1526 !------------------------! 1527 ! >>> Write a variable ! 1528 ! PHOTOCHEMISTRY ! 1529 !------------------------! 1530 #ifdef PHOTOCHEM 1531 DO i=1,nchemtrac 1532 FIELD=wtnom(i) 1533 UNITS='units' 1534 DESC='desc' 1535 DO k = 1,altlen 1536 XLVL=levels(k) 1537 SLAB=chemtrac(:,:,k,time_out(l),i) 1538 ! And now put everything in the destination file 1539 ! ... Header 1540 write(1) IFV 1541 write(1) HDATE,XFCST,SOURCE,FIELD,UNITS,DESC,XLVL,NX,NY,IPROJ 1542 write(1) STARTLOC,STARTLAT,STARTLON,DELTALAT,DELTALON 1543 ! ... Data 1544 write(1) SLAB 1545 END DO 1546 ENDDO 1547 #endif 1457 1548 1458 1549 print *,'****done file '//output, int(100.*float(l)/float(FILES)), ' % ' … … 1498 1589 deallocate(aps,bps,levels) 1499 1590 1591 #ifdef PHOTOCHEM 1592 deallocate(chemtrac) 1593 deallocate(wtnom) 1594 #endif 1500 1595 1501 1596 print *, '------------------------' -
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/Registry/Registry.EM
r316 r324 130 130 state real qdustn ikjftb scalar 1 - i01rusdf=(bdy_interp:dt) "QDUSTN" "Dust_number mixing ratio" "kg kg-1" 131 131 state real qco2 ikjftb scalar 1 - i01rusdf=(bdy_interp:dt) "QCO2" "CO2 mixing ratio" "kg kg-1" 132 state real chem_co ikjftb scalar 1 - i01rusdf=(bdy_interp:dt) "chem_co" "" "" 133 state real chem_o ikjftb scalar 1 - i01rusdf=(bdy_interp:dt) "chem_o" "" "" 134 state real chem_o1d ikjftb scalar 1 - i01rusdf=(bdy_interp:dt) "chem_o1d" "" "" 135 state real chem_o2 ikjftb scalar 1 - i01rusdf=(bdy_interp:dt) "chem_o2" "" "" 136 state real chem_o3 ikjftb scalar 1 - i01rusdf=(bdy_interp:dt) "chem_o3" "" "" 137 state real chem_h ikjftb scalar 1 - i01rusdf=(bdy_interp:dt) "chem_h" "" "" 138 state real chem_h2 ikjftb scalar 1 - i01rusdf=(bdy_interp:dt) "chem_h2" "" "" 139 state real chem_oh ikjftb scalar 1 - i01rusdf=(bdy_interp:dt) "chem_oh" "" "" 140 state real chem_ho2 ikjftb scalar 1 - i01rusdf=(bdy_interp:dt) "chem_ho2" "" "" 141 state real chem_h2o2 ikjftb scalar 1 - i01rusdf=(bdy_interp:dt) "chem_h2o2" "" "" 142 state real chem_ch4 ikjftb scalar 1 - i01rusdf=(bdy_interp:dt) "chem_ch4" "" "" 143 state real chem_n2 ikjftb scalar 1 - i01rusdf=(bdy_interp:dt) "chem_n2" "" "" 144 state real chem_ar ikjftb scalar 1 - i01rusdf=(bdy_interp:dt) "chem_ar" "" "" 132 145 #### 133 146 #### … … 1353 1366 package dust2eq mars==3 - scalar:qdust,qdustn 1354 1367 package newwater mars==11 - scalar:qh2o,qh2o_ice,qdust,qdustn 1368 package photochem mars==42 - scalar:qco2,chem_co,chem_o,chem_o1d,chem_o2,chem_o3,chem_h,chem_h2,chem_oh,chem_ho2,chem_h2o2,chem_ch4,chem_n2,chem_ar,qh2o_ice,qh2o,qdust,qdustn 1355 1369 ##### MARS OPTIONS 1356 1370 ##### MARS OPTIONS -
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
r315 r324 650 650 651 651 SELECT CASE (MARS_MODE) !! ONLY ALLOW FOR MODES DEFINED IN Registry.EM 652 CASE(4-10,12-19,22 :) !! -- CHANGE THIS if YOU ADDED CASES in REGISTRY.EM652 CASE(4-10,12-19,22-41,43:) !! -- CHANGE THIS if YOU ADDED CASES in REGISTRY.EM 653 653 PRINT *, 'NOT SUPPORTED, to be done' 654 654 STOP … … 662 662 !package radioac mars==20 - scalar:qtrac1 663 663 !package radioac2 mars==21 - scalar:upward,downward 664 !package photochem mars==42 - scalar:qco2,chem_co,chem_o,chem_o1d,chem_o2,chem_o3,chem_h,chem_h2,chem_oh,chem_ho2,chem_h2o2,chem_ch4,chem_n2,chem_ar,qh2o_ice,qh2o,qdust,qdustn 664 665 !!!!!!!!!!!!!!!!!!! FOR REFERENCE 665 666 … … 672 673 wtnom(nq) = 'co2' 673 674 CASE(1) 674 wtnom(1) = 'h2o_vap' 675 wtnom(2) = 'h2o_ice' 675 wtnom(1) = 'h2o_vap' 676 wtnom(2) = 'h2o_ice' 676 677 CASE(2) 677 678 wtnom(1) = 'dust01' 678 679 CASE(3) 679 680 wtnom(1) = 'dust_mass' 680 wtnom(2) = 'dust_number' 681 wtnom(2) = 'dust_number' 681 682 CASE(11) 682 683 wtnom(1) = 'h2o_vap' 683 wtnom(2) = 'h2o_ice' 684 wtnom(2) = 'h2o_ice' 684 685 wtnom(3) = 'dust_mass' 685 686 wtnom(4) = 'dust_number' … … 688 689 CASE(21) 689 690 wtnom(1) = 'upward' 690 wtnom(2) = 'downward' 691 wtnom(2) = 'downward' 692 CASE(42) 693 wtnom(1) = 'co2' 694 wtnom(2) = 'co' 695 wtnom(3) = 'o' 696 wtnom(4) = 'o1d' 697 wtnom(5) = 'o2' 698 wtnom(6) = 'o3' 699 wtnom(7) = 'h' 700 wtnom(8) = 'h2' 701 wtnom(9) = 'oh' 702 wtnom(10) = 'ho2' 703 wtnom(11) = 'h2o2' 704 wtnom(12) = 'ch4' 705 wtnom(13) = 'n2' 706 wtnom(14) = 'ar' 707 wtnom(15) = 'h2o_ice' 708 wtnom(16) = 'h2o_vap' 709 wtnom(17) = 'dust_mass' 710 wtnom(18) = 'dust_number' 691 711 END SELECT 692 712 #endif … … 729 749 q_prof(:,1:nq) = SCALAR(i,kps:kpe,j,2:nq+1) !! the names were set above !! one dummy tracer in WRF 730 750 !!! CAS DU CO2 731 DO iii=1,nq 732 IF ( wtnom(iii) .eq. 'co2' ) q_prof(:,iii) = 0.95 733 ENDDO 734 735 IF ((MARS_MODE .EQ. 20) .OR. (MARS_MODE .EQ. 21)) THEN 751 DO iii=1,nq 752 IF ( wtnom(iii) .eq. 'co2' ) q_prof(:,iii) = 0.95 753 ENDDO 754 IF ((MARS_MODE .EQ. 20) .OR. (MARS_MODE .EQ. 21)) THEN 736 755 IF (firstcall .EQV. .true.) THEN 737 756 q_prof(:,:) = 0.95 738 757 ENDIF 739 ENDIF 740 758 ENDIF 741 759 #else 742 760 SELECT CASE (MARS_MODE) … … 841 859 !!!! ADDITIONAL SECURITY. THIS MIGHT HAPPEN WITH OLD INIT FILES. 842 860 IF (z0_val == 0.) THEN 843 PRINT *, 'WELL, z0 is 0, this is no good. Setting to old defaults value 0.01 m'861 IF ( (i == ips) .AND. (j == jps) ) PRINT *, 'WELL, z0 is 0, this is no good. Setting to old defaults value 0.01 m' 844 862 z0_val = 0.01 845 863 ENDIF -
trunk/MESOSCALE_DEV/PLOT/SPEC/GW/gravitwaveprof.pro
r131 r324 58 58 nts=1 & nte=100 & nxs=50 & nxe=50 59 59 nts=1 & nte=100 & nxs=60 & nxe=60 60 nts=1 & nte=100 & nxs=20 & nxe=20 60 ;nts=1 & nte=100 & nxs=20 & nxe=20 61 nts=29 & nte=29 & nxs=60 & nxe=60 61 62 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 62 63 ; … … 150 151 alt = [40.,80.] 151 152 alt = [0.,120.] 153 alt = [10.,110.] 152 154 ;;;;;;;;;;; 153 155 ;;;;;;;;;;; … … 156 158 minfield_init = 85. ;100. 157 159 maxfield_init = 185. ;250. 160 minfield_init = 90. 161 maxfield_init = 230. 158 162 title_axis = ['Temperature (K)','Altitude (km)'] 159 163 overplot = mcd_tpot … … 161 165 SPAWN, "echo 'intervaly=10.' >> param_plot.idl" 162 166 SPAWN, "echo 'intervalx=5.' >> param_plot.idl" 167 SPAWN, "echo 'intervalx=10.' >> param_plot.idl" 163 168 ;;;;;;;;;;; 164 169 … … 216 221 ;;oplot, yeye, vert/1000., linestyle=1 217 222 223 224 loadct, 4 225 for i=16,37 do begin ;10-37 226 for j=0,40 do begin 227 dec = j - 20 228 overoverplot = reform(invar(nx+dec,middle+dec,*,i)) 229 oplot, overoverplot, column, color=220 ;psym=3 230 endfor 231 endfor 232 233 !p.thick = 4.0 234 oplot, overplot, overplot_column, linestyle=2 235 !p.thick = 2.0 236 237 !p.thick = 4.0 238 oplot, reform(invar(nx,middle,*,28)), column 239 !p.thick = 2.0 240 218 241 @tempcond.inc 219 242 overplot = reform(overplot(nx,middle,*,nt)) 243 w = where(overplot le 0.) & overplot[w] = !VALUES.F_NAN 220 244 oplot, overplot, overplot_column, linestyle=1 221 245
Note: See TracChangeset
for help on using the changeset viewer.
