!-----DJURINO PREDAVANJE O OPERATIVNOM SEZONSKOM MODELU RCM-SEEVCCC (linije koje pocinju sa mm je Marija dodala naknadno) definicija globalnih polja koja sluzi kao input llgrid.inc polja za input delon i delat - nasa polja su 0.5 ime jme br tacaka lmd vertikalni nivoi spl na kojim nivoima all.inc definicija mreze regionalnog modela tlmod centar naseg modela idemo wbd levo i wbd desno, u odnosu na centar tlm0d tph0d dlmd dphd rezolucija modela LM vertikalni ninoi (E Marija, nije ninoi nego nivoi. Nepismena si) DTB osnovni korak 90 sec postoji i korak za advekciju i turbulenciju itd nsoil=4 broj slojeva u tlu NROOT=3 do kog nivoa idu koreni IDAYY=365 za racunanje apsorbovanja energije, ali imamo 12 meseci po 30 dana - tako se rade klimatski modeli cesto, bez prestupne godine itd. Nas kalendar je 365 otboco.inc - na kolko se skidaju boznigr (bocnigr, strasno)uslovi 12 sati grid.inc za setovanje pom-a preprocessing - u etautl - spremanje polja za pokretanje atmosferskog modela priprema podataka za start modela etautl/input ovde su fiksna polja, ne mrenjaju (sta ti znaci ne mRenjaju?) se iz prognoze u prognozu. soiltype tipovi tla na planeti vegtype isto i u jan i u jun, tipovi vegetacije usnavy.ascii topografija tu su samo fajle koje se koriste global_inp/ tu su kodovi i skriptovi koji dekodiraju globalna polja glavni je skript run_g2g.sh svaki skript u njemu ce da dekodira po promenljivu izlazi iz skriptova se loguju u LOGZS itd, ulazi su godina i mesec zs geo potencijal qs spec vlaga kg/kg sfc povrsinski paramterti, temp tla, pod zemljom, vlaga tla, .... input fajle su u /products/ecmwf_sf/ u grib formatu kpds=129 je geopotencijal wgrib -v /products/ecmwf_sf/201106/zs_201106_00.grib wgrib -V /products/ecmwf_sf/201106/zs_201106_00.grib | more grb2grd_zs.sh dekodira geopotencijal set fieldlist -1 :sve mi dekodiraj, sve rekorde # Era data is contained in /tmp/era directory 21 set dir /data/clima/MIRJAM/sez_fc/$argv tamo su podaci kad ih mirjam skine - to su input podaci $argv inout parametar koji mu preda glavni run foreach infile [glob $dir/zs*] { izdekodiraj sve koje se zovu zs - ovde mozemo da stavimo samo dati clan ansambla nece nam path biti MIRJAM vec u /products/ecmwf_sf/ set outfile "grd/[file tail $infile]" da na ime input fajle tail-juje (tail-juje? Razumeo bih da je tail-uje, ali tail-juje, stvarno tuzno) extenziju za grads top - procesi koji rade u shellu citamo_lrf.f ovo inkluduje one inc, sto je specificirano u makefile, gde su nam IME to je u llgrid.inc idat je 3d niz datum od prognoze - integer niz idat(1) je mesesc, i u sezonskoj uvek krece od 1 mroot='/data/clima/ebu_pom2slrf' je lokacija modela, a nama ce biti /mod_clim/ebu_pom2chnd otvara fajle za promenljive iihrmax kolko rekorda za celu prognozu soil treba samo za pocetak program cita fajle iz grd-a gde se nalaze dekodirana polja LLSPL je direktorijum u kome se naprave fajle za svaki ansambl Njega pravi skrpit dodirs.sh (napravi sve prazne direktorijume) Tu ce da bude output iz citamo_lrf.f - on prodje kroz sva dekorirana polja, i zapravo proveri jel sve u redu 'LLSPL/'//CE//'/llspl.'//cdat, cdat je u satima, tamo su sve promenljive za jedan trenutak, itd, jedan direktorijum za jedan ansambl, i tamo 5000 fajlova, svaki fajl za jedan trenutak vremena i sve promenljive u output/ se ostavljaju sve fajle koje su stvarni-vec pripremljeni input za model seq -w pravi sekvenciju podataka 00 40 : to je u dodirs.sh opet u outputu ranujemo taj dodirs.sh dodirs.sh #!/bin/bash -f for i in `seq -w 00 40` ; do mkdir $i ; done for i in `seq -w 00 40` ; do mkdir $i'/POUT' ; done u pout ce biti rezultati postprocesinga - model izbacuje potencijalnu temperaturu, a mi prebacimu u obicnu, itd... ln -s ../output output link ka direktorujumu output - soft link /data/clima/ebu_pom2slrf/etautl/preproc 106 svi programi su nezavisni jedan od drugog, make ih sve kompajlira 107 topo.f sprema topografiju za nasu mrezu i nas model anec.f pravi interpolaciju u nasu eta mrezu dboco.f pravi granicne mm------------------------------------ mm const.f sprema razne konstante mm peja je ubacio nekada u const.f da se pise fajl mm lmhdata.bin mm dum2-to je valjda vertikalna maska mm dfl-isto u vezi sa nivoima (cita se iz nfcste) mm U const.f se pravi i dum2sm - i,j indexirana SeaMask mm dum2sm: output/eta.sm.grd mm------------------------------------ /data/clima/ebu_pom2slrf/etautl/preproc ovde ima run RUN TOPO samo na pocetku RUN DBOCO dodaje tamo gde fale granicni. npr granicni dati u svako 5tom trenutku, a ovaj DBOCO nam interpolise izmedju nbc.0001_00 granicni uslovi - to ce cita model kad bude krenuo, to se pravi negde ctrl z bg radi i dalje u xtermu pomutl/ preprocessing za okean /ebu_pom2chnd/pomutl/decclimmed 3d poijla saliniteta i temperature. Okean krece iz dugorocne klimatologije modela, a ne od aktuelnih polja READDATA.f cita temp i salinitet za jedan mesec, i upisuje za program koji ce to da interpolise u grid modela. TS.dat je formiran. u fajle koje cita READDATA.f data NAME/'TEM.01','TEM.02','TEM.03','TEM.04', & 'TEM.05','TEM.06','TEM.07','TEM.08', & 'TEM.09','TEM.10','TEM.11','TEM.12'/ data NAMES/'SAL.01','SAL.02','SAL.03','SAL.04', & 'SAL.05','SAL.06','SAL.07','SAL.08', & 'SAL.09','SAL.10','SAL.11','SAL.12'/ izlaz iz READDATA.f : fort.55, fort.56 '../ppgrid/TS.dat' ppgrid pustimo rungrid, i on uradi interpolaciju na sigma nivoe za pom, tj radi preproccessing mora da se napravi link na output direktorijum opet, valjda u ppgrid IC.dat je rezultat preprocessing-a, i smesten je u output - inicijalni uslov za okean mybnd.dat geometrija bazena, rezolucija bath.grd batimetrija preprocesing za kaplovanje - pom radi na c mrezi eta na e, rezolucija se razlikuje, pa moramo flukseve da osrednjavamo i interpolisemo. Napravimo koeficijente za interpolaciju, u direktorijumu pqcoef.f sprema koeficijente. Mreza na kome radi ebu prati tlo, nije obavezno ravna, pod uglom je bla bla. model/tsplit.prm ne znam sta radi, valjda na koliko sta da ranuje u svakom direktorijumu ima make exe verzija modela ./ebupom 00 (clan ansambla) -cita uslove iz 00, zapisuje outpute u 00 vegbc/ je granicni uslov za vegetaciju treba da startujemo vise ans odjednom run_ebupom_ens0.sh svaki nod ima 8 proecesora sinfo naredba sta rade nodovi sinfo bjobs bjobs -l run_ebupom_ens0.sh ovo sabmituje na nodove tu pise svasta bla bla startovace 8 ansambla, svaki ce da ide po jednom koru, na jedan nod. Na jedan nod 8 procesa koji idu u isto vreme se startuju. Svaki proces na jedan kor. Hahaha, znaci na jednom nodu ima 8 korova! enslist0 ovde je spisak indeksa koji menja idx iz run_ebupom_ens bsub < run_ebupom_ens0.sh submitovali smo job! ep0[1] ep0[2] ep0[3] ep0[4] ep0[5] ep0[6] ep0[7] ep0[8] ovo se sve ranovalo! u outout/ se zapisuju rayultati modela: vout.0000_00 -prvi clan iz atmosfere ssh n81 = logovanje u nod! sifra ista. getwiam3_1.sh ovaj skript kaze ko je sta uradio od nasamblova. To mozemo da ranujemo kad ranujemo model, da vidimo sta se dogadja okeanski su u fajlama OUT.0000_00 nbc.0335_00 su bocni granicni uslovi sstbc.0075_00 to su sst koji nisu kaplovani POSTPROCESSING ebu_pom2chnd/etautl/postproc outspl.f ovde preradimo sta ocemo, npr da cuvamo mesecne umesto na 6h itd FIS orogragfija SM sea maska HBM2 VBM2 maske u H i V tackama PD razlika u ptir povrsine tla i vrha atmosfere pred kraj programa ETOAH prebacuje sa e na a mrezu bkill JOBID 29.06.2011. pustili smo 1. run_g2g.sh on pusti dekodiranje za svaku promenljivu pojedinacno u backroundu /data/clima/mod_clim/ebu_pom2chnd/etautl/global_inp cplpreproc caplovani preproc 1. run_g2g.sh sve mora da se menja u pojedinacnim sh napraviti skript koji ce da kaze kad se zavrsio, tj tek kad napravi sve, onda da odradi exit. patovi za input gribove su tu definisani za svaku promenljivu set dir /products/ecmwf_sf/$argv LOG fajlovi od svake promenljive koja se dekodira iz ecmwf griba tu je izlaz iz skripta koji dekodira promenljive 2. citamo_lrf iz grd prepakuje u LLSPL jer u grd je cela prognoza u jednom fajlu, a u LLSPL je posebno na 6 h u svakoj fajli 3. cd preproc; run run puni ../output 4. proveriti jel su sve fajle na svom mestu, pa da li moze da se runuje dalje etautl/output je link, nije pravi output ../output je pravi /data/clima/mod_clim/ebu_pom2chnd/output svaki ansambl treba da ima nfcst_00 i nhibu_00, to treba da se proverava pom decclimmed/ READDATA mm READDATA.f ovo pravi ppgrid/TS.dat onda ako postoji TS.dat ranujemo rungrid ../output/IC.dat ovo da li postoji - preprocessing ok u ppgrid/ ima WIND.dat to se pravi u GRID.f TOPO.dat se pravi jednom u batimetriji u read_data.f cplpreproc/ ranujemo pqcoef ls -lrt ../output/ pqijang to da il ga ima tu ./incon pa da li ima zapisao ../output/idxconv zapisao ../output/sstfsmE ls -lrt ../output/ ./clean_output.sh to sad i napravi i obrise direktorijume cd model/ runallens.sh run_ebupom_ens0.sh enslist0 RUN MODELA cd model exe modela je ebupom runije se ./ebupom ENS script za run: runallens.sh za test modela faljl fcstdata, varijavbla TEND je duzina prognoze za test TEND=240 za mesec dana TEND=720 za celu prognozu TEND=5160 komande za proveru da li je sve krenulo sinfo # koji su aktivni prozori bjobs # koji su jobovu na nodu bjobs -l # long list bkill JOBID # ubija JOB bsub < run_ebupom_ens0.sh bsub < run_ebupom_ens1.sh #!/bin/csh #BSUB -L /bin/csh #BSUB -J ep0[1-8] #BSUB -o %J_out #BSUB -e %J_err #BSUB -M 1048576 #BSUB -W 48:00 #BSUB -n 1 #BSUB -ext "SLURM[nodelist=n[81]]" set idx=(`sed -n "$LSB_JOBINDEX"p enslist0`) ./ebupom $idx runallens.sh #!/bin/bash set -x pwd bsub < run_ebupom_ens0.sh sleep 10 bsub < run_ebupom_ens1.sh Razgovor sa pejom i djurom: :) *********************************** SURFACE PARAMETRI *********************************** prizemni parametri: 9 last model level: 1. temperatura !ne znam koja READ(31) (((T(I,J,L),I=1,IM),J=1,JM),L=1,LM) ! Temp. [K] 2. spec vlaga 2m ! a rh? alex, cloud cover READ(31) ((QSHLTR(I,J),I=1,IM),J=1,JM) ! Spec. humid. on 2 m [kg/kg] 3. vetar u komponenta 10m 4. v komponenta 10m READ(31) ((U10(I,J),I=1,IM),J=1,JM) ! U 10m wind [m/s] READ(31) ((V10(I,J),I=1,IM),J=1,JM) ! V 10m wind [m/s] READ(31) (((U(I,J,L),I=1,IM),J=1,JM),L=1,LM) ! U wind [m/s] READ(31) (((V(I,J,L),I=1,IM),J=1,JM),L=1,LM) ! V wind [m/s] 5. pritisak mean sea levelp mslp 6. zracenje: kratkotalasno dolazno READ(31) ((RSWIN(I,J),I=1,IM),J=1,JM) ! Incoming solar (short wave) 7. dugotalasno odlazno READ(31) ((RLWIN(I,J),I=1,IM),J=1,JM) ! Incoming long wave radiation 8. padavine READ(31) ((ACPREC(I,J),I=1,IM),J=1,JM) ! accumulated prec - total [m/6hr] 9. t2m READ(31) ((TSHLTR(I,J),I=1,IM),J=1,JM) ! Potential Temp on 2m [K] 10. tsfc WRITE(31) ((THS(I,J),I=1,IM),J=1,JM) ali ovo je potenc 11. sneg - swe WRITE(31) ((ACSNOW(I,J),I=1,IM),J=1,JM) 12. t 850 ?na 6 sati? nbens = 11 ----------------------------------------- za run modela sa boljom rezolucijom ---------------------------------------- sfc pressure, mslp, u10, v10, t2m, q2m UPPER AIR : 50, 100, 150, 200, 250, 300, 400, 500, 700, 850, 925, 1000 1.z 2.q spec vlaga 3.u 4.v --------------------------------------- 1. zracenje: kratkotalasno dolazno READ(31) ((RSWIN(I,J),I=1,IM),J=1,JM) ! Incoming solar (short wave) 2. dugotalasno dolazno READ(31) ((RLWIN(I,J),I=1,IM),J=1,JM) ! Incoming long wave radiation ----------------------------------------- za t=0 - prvi trenutak vremena: soil temperature 4 nivoa stc vlaznost zemljista 4 nivoa smc READ(31) (((SMC(I,J,N),I=1,IM),J=1,JM),N=1,NSOIL) ! Soil moister content ------------------------------------------------------ dodaci: geop na 12 nivoa 50, 100, 150, 200, 250, 300, 400, 500, 700, 850, 925, 1000 stc, smc cela integracija nejasno za temperaturu ========================================================= *******CELA PRIZEMNA KLIMATOLOGIJA******* 1 run = 4GB 25 godina, 1 run = 100 GB 25 godina 12 runova = 1.2TB after grib: 0.6 TB hmm nije tako zbog E mreze ***************************************** IM, JM 99 105 = 10395 * 4 byte*11var*11ens*120termina*7meseci /1024*1024*1024 = 4GB 4GB * 25 godina *12runova = 1.2 TB / 2kad se gribuje = 600GB ***********************************