NCAR / icar

The Intermediate Complexity Atmospheric Research model (ICAR)
MIT License
72 stars 53 forks source link

about using ERA5 data to run icar #188

Closed wwwliye closed 2 months ago

wwwliye commented 4 months ago
Hi~ Recently I'm trying to convert ERA5 model data to run icar, in my input files, I have U,V,T,Z,QV,P,lat,lon,time data , but in running ,it will appear  time step dt is too small to run,  I see in time_step.py , it says maybe there is  something wrong in physics or input data. But I don't know where error is . Could you give me some suggestions. 
about I convert ERA5 model data , I modify the files in helpers/erai/, so I'm sure my input data is correct...  resolution of ERA5 is 25km, my simulation area is 100km*100km, I don't know if the grids to be used in ERA5 is too little...   
gutmann commented 4 months ago

ERA5 may be formatted differently depending on what files you are using. Can you double check that the final output files have, e.g. North oriented up, highest pressures in the lowest model levels? and look at each field to ensure that T, Z, P in particular all have the correct units [K, m, Pa]? Also, turn off 95% of the physics options in ICAR and see if it will run when mp=0, cu=0, wind=0, lsm=0, rad=0, pbl=0

gutmann commented 4 months ago

the time step error usually means that ICAR has an internal wind field that is too fast (e.g. >1000m/s), or that the vertical thickness of the layers are too thin (e.g. <<1m after accounting for terrain effects in the SLEVE coordinate system). Both of those result in the CFL criteria demanding extremely short time steps. ICAR will stop when the time step feels so absurdly short that something is likely broken.

wwwliye commented 4 months ago

I try your suggestion of closing physics options but still failed... though I think my input data is correct and check many times.... I have another question ,that is , in helpers/gen_HICAR_dom.py, when I set res>1000m, there is an error, says " File "/public/home/hwy_bj/wly/HICAR_test/build/../helpers/gen_HICAR_dom.py", line 35, in dom_out = hd.wholeShebang(dom,dom_rad,res=res,terr_filter=terr_filter,TPI_thresh=TPI_thresh) File "/public/home/hwy_bj/wly/HICAR_test/helpers/HICAR_Domain.py", line 28, in wholeShebang ds_in = addRidgeValleyDists(ds_in,ds_in_rad,res=res,terr_filter=terr_filter,TPI_thresh=TPI_thresh,\ File "/public/home/hwy_bj/wly/HICAR_test/helpers/HICAR_Domain.py", line 294, in addRidgeValleyDists if (ridges_skel[i,j] < 1 or valleys_skel[i,j] < 1): IndexError: index 106 is out of bounds for axis 1 with size 106" so I want to ask if res>1000m, if something except res should be modify?

gutmann commented 2 months ago

Hi, sorry I don't have a good answer, the helpers are more or less supplied as is (really all of ICAR is, we don't have any funding for support). I think this particular helper was probably written by @d-reynolds so he might have more ideas. We run ICAR with ~6000m grids all the time, but have never used that particular helper.