From 0edbfa8960d1c90809cfa445f54ec9d65f55f968 Mon Sep 17 00:00:00 2001 From: Jean du Preez Date: Thu, 24 Mar 2022 15:36:43 +0100 Subject: [PATCH] limited organic and exclude chemistry --- configurations/mbees_rans_test_100.conf | 30 +++++++++++------- .../palm_dynamic_aerosol.cpython-36.pyc | Bin 0 -> 5836 bytes .../palm_dynamic_config.cpython-36.pyc | Bin 0 -> 1086 bytes .../palm_dynamic_output.cpython-36.pyc | Bin 0 -> 11684 bytes .../__pycache__/palm_wrf_utils.cpython-36.pyc | Bin 0 -> 17932 bytes dynamic/palm_dynamic.py | 26 ++++++++++++--- dynamic/palm_dynamic_defaults.py | 4 +-- dynamic/palm_dynamic_output.py | 5 ++- 8 files changed, 45 insertions(+), 20 deletions(-) create mode 100644 dynamic/__pycache__/palm_dynamic_aerosol.cpython-36.pyc create mode 100644 dynamic/__pycache__/palm_dynamic_config.cpython-36.pyc create mode 100644 dynamic/__pycache__/palm_dynamic_output.cpython-36.pyc create mode 100644 dynamic/__pycache__/palm_wrf_utils.cpython-36.pyc diff --git a/configurations/mbees_rans_test_100.conf b/configurations/mbees_rans_test_100.conf index 3b352a3..10dd570 100644 --- a/configurations/mbees_rans_test_100.conf +++ b/configurations/mbees_rans_test_100.conf @@ -8,12 +8,14 @@ scenario = 'rans_test' nested_domain = False # dynamic driver output -dynamic_driver_file = "/cfs/home/d/u/dupreeda/MBEES/PALM/palm_model_system-v21.10/JOBS/mbees/INPUT/mbees_dynamic" +#dynamic_driver_file = "/cfs/home/d/u/dupreeda/MBEES/PALM/palm_model_system-v21.10/JOBS/mbees/INPUT/mbees_dynamic" +dynamic_driver_file = "/home/jean/MBEES/PALM/palm_model_system-v21.10-rc.2/JOBS/mbees1/INPUT/mbees1_1_dynamic" # import grid parameters for dynamic driver from static driver grid_from_static = True # static driver input -static_driver_file = "/cfs/home/d/u/dupreeda/MBEES/PALM/palm_model_system-v21.10/JOBS/mbees/INPUT/mbees_static" +#static_driver_file = "/cfs/home/d/u/dupreeda/MBEES/PALM/palm_model_system-v21.10/JOBS/mbees/INPUT/mbees_static" +static_driver_file = "/home/jean/MBEES/PALM/palm_model_system-v21.10-rc.2/JOBS/mbees1/INPUT/mbees1_static" # reference coordinate system of PALM simulation proj_palm = "EPSG:32633" @@ -21,29 +23,33 @@ proj_palm = "EPSG:32633" proj_wgs84 = 'EPSG:4326' # vertical grid -dz = 5.0 -nz = 80 # z in grids +dz = 10.0 +nz = 100 # z in grids dz_stretch_level = 900.0 # in meters -dz_stretch_factor = 1.0 -dz_max = 5.0 +dz_stretch_factor = 1.08 +dz_max = 30.0 # time origin and extent of the simulation (format YYYY-MM-DD hh:mm:ss) -origin_time = "2021-09-27 12:00:00" -simulation_hours = 11 +origin_time = "2021-09-27 10:00:00" +simulation_hours = 3 # wrf_chem input dir and mask -wrf_dir_name = '/cfs/home/d/u/dupreeda/MBEES/PALM/wrf_chem_data' +#wrf_dir_name = '/cfs/home/d/u/dupreeda/MBEES/PALM/wrf_chem_data' +wrf_dir_name = '/home/jean/MBEES/PALM/wrf_chem_data' + wrf_file_mask = "wrfout_d01_2021-09-27_*" wrf_hybrid_levs = True vinterp_terrain_smoothing = None # interpolated files -interp_dir_name = '/cfs/home/d/u/dupreeda/MBEES/PALM/wrf_chem_data/interp' +#interp_dir_name = '/cfs/home/d/u/dupreeda/MBEES/PALM/wrf_chem_data/interp' +interp_dir_name = '/home/jean/MBEES/PALM/wrf_chem_data/interp' # WRF-chem gaseous species -wrfchem_spec = ['no', 'no2','hno3', 'nh3', 'h2so4', 'ocnv','ocsv'] +#wrfchem_spec = ['no'] +#wrfchem_spec = ['no', 'no2','hno3', 'nh3', 'h2so4', 'ocnv','ocsv'] # Salsa parameters (only aerosol species) -aerosol_wrfchem = True +aerosol_wrfchem = False wrfchem_bin_limits = [3.9e-8, 1.56e-7, 6.25e-7, 2.5e-6, 1.0e-5] listspec = ['OC', 'NO', 'NH'] nbin = [1,7] diff --git a/dynamic/__pycache__/palm_dynamic_aerosol.cpython-36.pyc b/dynamic/__pycache__/palm_dynamic_aerosol.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cf053f430b0ec2dce134da80059af7670d4d605b GIT binary patch literal 5836 zcmbtYU2Ggz6`p%%c6avI>$RP%oir^{Te^|Sj}t0dLP?YK2WXs>G(-$dmhs+Md)K=& z>pNrDw(cM#7l9C!{9N?`@l<&315XGf!~>!{6$#B70wMW@2Oj$Z-?=lkH+B*p*wvi- zGxwZ1_vd`)o4Hi2mWr=_W$EU#hVge}?8i~RiYt5GA|0kMp+O=Q9@~pvZ$aeimIrgEQtwGM_Cr^j?tRj!xN0f7E9RK4n3BB zC0qqu*KvjaVuleJeWr{Z7IW0N;;5MiHS3_3JE-Lq6KvLi;pBQ9+IDl!!uo`sbg z#{Cat8)GeDp326kLX=bX4xW-~Oc~RLut+LX*;mMeW1|H-32TqguriIjFcs>vutNH$ z43V3{a*@S{`=-ebo`1zyyM2#5%4^>-1MU0opr(L$zyr<_qz7BC7-r9?{XXpdvOn& zZb%Z#xbSOU-7`@vCyn2|efREPzP?9iW$!=uwTcP%M~NA(50l)sCxbA_N!MTY5eLFI{KglofBV(9Zk~TncH5m5 zZ`kezvORJK!}DUxcZa>sd1|z?M%yLVgTcAcR#FyTx959p@}>;S;qwp%FYyx7e_m$| zc8)Eumsy>kVHI7!g1$PFCo!@^3r9a%G8>l;qzkAhBSv5dPBBaIO0oJ;A?AuHzM7XW zDAZ<+JBao4Y84k9GYl>}rXO5_Sh?)*rOx(q;c(>6Lo6-LFAuiDz-@=!&iqm@Siaca zFN5t|XE5)(+oeu$X};sm2R*-4aLhZmU}W(Yt~VWi?YhHn;kt9j;WzH;b!?f~7I)}5 zcI1VTu1!YRxNty=?zba%Y2fLRsW^doCA0e@y#0l2ha<1k^Fm;o5z-igS)8-Ozs+rC zb2*DU2gs90gHD!Suz6IJ(Wi@XBj&NG7+OrXtT>0o%B`~CEMnYTB`{-)EuQ4U$i-Q+ z!YCNE@=jhKxr^6S`&%*axPvStybghgqKuwcIj z@tNEFS*D%Y)!G|~W71{{n3ZaiUfOfS0^w0k6?V9cl-bV}D-9h16X@udHm zsP2#7WdV-XzQ!(=>M=S$7v(XXmql$%XXUs~)-!<>OrJdIKM=Js3rf_-Ed1iQ1?@TX z;qSA@?;f|0)v(eXz&sn9S84ULHihrGcuMcsBtmd%*3cnKdpoVBRas4{de;OMXsD?x z1`_c8olxTdw<0g4cXGERo=k&>$+x)3MH)w0%*p5$O&rWYHWj;V#_ur16 z(({>8P4(2+e9ovdWAn)$)~Ah_?#-%G>ZvXWo^GF3XHFXNX?Xq#VB)lz!}wF#Ts{JL z2=wOq(>pj#nCF}Zk?BQ^9|@C5Vez$huHSh5GI(hoX?q9?G1c>XQQM7%K{#6RB=XE4 zawd;n|kM z5TpgXDOmRfGT4ec@+3itrV|=vl6)A*$P<$CX_D*t!rM%c;DgX>Jx$(4o*cEiJv=_K z2fZ+&^egLRW0Eu)`xr=QnbN2v-}6Z!F|m{hTTj@AQ`l|~ybW*QOb{5hhi({lrQ2z{ zjlEu(YOfb%B)XV7kf#^nL+`;uV3!79AL8oUM_8d>7gY|g5o-JpIX2I@Zz z`d33~Gr5STbTn^3rH1PuEjVB|$n;;V zSF(W5l1P?NI3<&Z(~GKfP4IyCVZmPIfcNH;ZQvb=yeu`1C)z4&Tkk&B)>v|TtUncP z-vUZtV0LV&UNgqM``-8R8yT3^t0 z$3|?Uh7mjp<#i}zUBD9ufIzt76!f6=;ZYEn%Rt~J;Ot&XD6bLJx^nA>uoTjphJp9E z3ZFxGPvhT27{3fSxP~h&ZFYmz5crodPJSQbJ2XN1(aR0dTXHJ=D*`-1Zc}-kn{5Os zxEhge2Mvb9P||R~H5^nl9HjMXl*M$POpe*}vqZE;)c9J7e9D&r}Y6ePf)o@n{V zXnH~oPpIlA{PEZmGOzxJ&*P(J{NKPHAYhlvvq$Y^5CC5fVdU{1KXUYp{{Z&u+Wt=t z?PKg@x(ef~{W!m$FnUJKsA;eOD(hfyCP+zD!Emmxzvhg~Y)NWC}JfQXjFYqllxy=7jt%-Ev5LkHl3H^da?-4asZNBrYJ|B=HRr zL^9-k5)U9U?gF~ek!|Xv=$79i@l6tMk+?zPCJFigl?pw$j+Z$8BB@G6AC zQvyM#L*#?#$O+U+pdn`=pU3wls=uJ?7qmQwPbPJYKTR0q!bYo-@F3Ld0OVdDj<)n- zB~uT5+QKBdz2$U$>2pi^;!W?anyF|s)8@vep(mv0VqXDgT_1R_5TOaDA@JRX{@k9m N>vqnr*)Q31{{`2rH@yG= literal 0 HcmV?d00001 diff --git a/dynamic/__pycache__/palm_dynamic_config.cpython-36.pyc b/dynamic/__pycache__/palm_dynamic_config.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..263198ab941c6713ab1d57ea8baa7cacd5432c95 GIT binary patch literal 1086 zcmZWo&2AGh5VrRxn{3n4RxJgAkl}(Nq2#~?RR~c^Ink=3aM{bsSv!fN&3a`!qFtq@ z@G$U7zH*_jz=`p0K#ADZjK`m6KHD?nm)qNM=j7G!BtqyXTKhb(--75DpcqOJ!_3QZ z;=$;zY~2 z$~YsUFp`*w(5sl|nv8Qfq`B_LcW@4L(Ze>lq-K&~H-#?%2|-Rl^e<2bP4U#LwQquH z2+~@jC3ZiJOq*d7Ej`@$bxg#(rFV+~_ZN5#cPze%!52@rmY4+##KI%A^lv@zZ7m>b zjRP2OeZbob{~z83AFRIv+F5uP(5!Xd9Lan#l%JDGKGtZL5S%1E?i*9UQ>c;J~kWW&>IB!Ul>{W}{Wd^#U6= z3310r_8a?e8XZNlTCeS0y}G=+yF-2;bpZSR{xF!x86QkJEe7ZB&d#m|mnR?32Vd1F z%_e-7j-*OmItQ!j4K{My>d^VNUpFuKO$;;bd;{FZUEGfT0GrV` AJOBUy literal 0 HcmV?d00001 diff --git a/dynamic/__pycache__/palm_dynamic_output.cpython-36.pyc b/dynamic/__pycache__/palm_dynamic_output.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a6470f36886cc91cf3af6c4b6bf402257ff7d64a GIT binary patch literal 11684 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 XP-J^~<8~h?tRWPLas0o2s+Io(Q2t2? literal 0 HcmV?d00001 diff --git a/dynamic/__pycache__/palm_wrf_utils.cpython-36.pyc b/dynamic/__pycache__/palm_wrf_utils.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d9471f8455354f1ba5500e494f3172ee50cdd69a GIT binary patch literal 17932 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 literal 0 HcmV?d00001 diff --git a/dynamic/palm_dynamic.py b/dynamic/palm_dynamic.py index d4999b2..fe28a4b 100644 --- a/dynamic/palm_dynamic.py +++ b/dynamic/palm_dynamic.py @@ -371,24 +371,40 @@ for wrf_file in wrf_files_proc: # copied vars wrfchem_dynamic = ['PH', 'PHB', 'HGT', 'T', 'W', 'TSLB', 'SMOIS', 'MU', 'MUB','P', 'PB', 'PSFC'] - wrfchem_variables = wrfchem_dynamic + wrfchem_spec + if len(wrfchem_spec)>0: + wrfchem_variables = wrfchem_dynamic + wrfchem_spec + else: + wrfchem_variables = wrfchem_dynamic if aerosol_wrfchem: wrfchem_variables = wrfchem_variables + wrfchem_aerosols wrfchem_variables.append('ALT') # inverse density for varname in wrfchem_variables: # gaseous aerosols + # H2SO4 if varname == 'h2so4': v_wrf = f_wrf.variables['sulf'] v_out = f_out.createVariable(varname, 'f4', v_wrf.dimensions) v_out[:] = regridder.regrid(v_wrf[...,regridder.ys,regridder.xs]) + # NVOCs elif varname == 'ocnv': - v_wrf = f_wrf.variables['gly'] - v_out = f_out.createVariable(varname, 'f4', v_wrf.dimensions) + nvoc_list = ['gly', 'n2o5'] + vsize = f_wrf.variables[nvoc_list[0]].shape + v_wrf = np.zeros(vsize) + for nvoc in nvoc_list: + nvoc_data = f_wrf.variables[nvoc] + v_wrf = v_wrf + nvoc_data + v_out = f_out.createVariable(varname, 'f4', nvoc_data.dimensions) v_out[:] = regridder.regrid(v_wrf[...,regridder.ys,regridder.xs]) + # SVOCs elif varname == 'ocsv': - v_wrf = f_wrf.variables['hcho'] - v_out = f_out.createVariable(varname, 'f4', v_wrf.dimensions) + svoc_list = ['hcho', 'ch3oh'] + vsize = f_wrf.variables[svoc_list[0]].shape + v_wrf = np.zeros(vsize) + for svoc in svoc_list: + svoc_data = f_wrf.variables[svoc] + v_wrf = v_wrf + svoc_data + v_out = f_out.createVariable(varname, 'f4', svoc_data.dimensions) v_out[:] = regridder.regrid(v_wrf[...,regridder.ys,regridder.xs]) else: # other dynamic & chem vars diff --git a/dynamic/palm_dynamic_defaults.py b/dynamic/palm_dynamic_defaults.py index 998f86f..741d2de 100644 --- a/dynamic/palm_dynamic_defaults.py +++ b/dynamic/palm_dynamic_defaults.py @@ -42,8 +42,8 @@ interp_dir_name = "" # wrf-chem input files path and default file mask wrf_dir_name = "" # "" means that standard path will be calculated in the init -wrf_file_mask = "wrfout_d01_*" -wrfchem_spec = ["no"] +wrf_file_mask = "wrfout_d01_*" +wrfchem_spec = "" # aerosols aerosol_wrfchem = False diff --git a/dynamic/palm_dynamic_output.py b/dynamic/palm_dynamic_output.py index a5cc0cb..082fe5c 100644 --- a/dynamic/palm_dynamic_output.py +++ b/dynamic/palm_dynamic_output.py @@ -39,7 +39,10 @@ def palm_dynamic_output(wrf_files, interp_files, dynamic_driver_file, times_sec, boundary = ['left','right','south', 'north','top'] # atmospheric variables atmos_var = ['pt','qv','u','v','w','soil_m','soil_t'] - dynam_chem_variables = atmos_var + wrfchem_spec + if len(wrfchem_spec) > 0: + dynam_chem_variables = atmos_var + wrfchem_spec + else: + dynam_chem_variables = atmos_var # prepare influx/outflux area sizes zstag_all = np.r_[0., z_levels_stag, ztop] -- GitLab