-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AWIESM2 output data went to "unknown" folder #1239
Comments
Hi @Mccino, output being moved to the $ yq .echam.outdata_targets basic-002_finished_config.yaml
aclcim_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_aclcim.nc # no provenance info
g3b1hi_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_g3b1hi.nc # no provenance info
g3bday_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_g3bday.nc # no provenance info
g3bid_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_g3bid.nc # no provenance info
g3bim_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_g3bim.nc # no provenance info
glday_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_glday.nc # no provenance info
glim_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_glim.nc # no provenance info
jsbid_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_jsbid.nc # no provenance info
sp6h_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_sp6h.nc # no provenance info
spim_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_spim.nc # no provenance info
sp_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_sp.nc # no provenance info
gl_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_gl.nc # no provenance info
g3b_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_g3b.nc # no provenance info
scm_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_scm.nc # no provenance info
ma_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_ma.nc # no provenance info
surf_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_surf.nc # no provenance info
cfdiag_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_cfdiag.nc # no provenance info
aeropt_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_aeropt.nc # no provenance info
co2_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_co2.nc # no provenance info
tdiag_nc: /albedo/work/user/pgierz/SciComp/Tutorials/AWIESM_Basics/experiments/basic-002/outdata/echam/basic-002_185901.01_tdiag.nc # no provenance info More specifically, you can see what sorts of files it knows about in general: $ yq '.echam | keys | .[] | select(contains("targets"))' basic-002_finished_config.yaml
bin_targets
config_targets
forcing_targets
input_targets
log_targets
outdata_targets
restart_in_targets
restart_out_targets
ignore_targets There's some more info in the handbook here |
Yes @pgierz. But there is more depth to the problem than it seems: If some variables are not copied to the unknown then is a matter of adding this variables to the I'm sure that at least for some variables, all months will be in outdata if instead of yearly chunks monthly chunks would be run. So the problem probably is a combination of ESM-Tools running yearly chunks but echam outputting monthly. |
I think this is it: esm_tools/configs/components/echam/echam.yaml Lines 813 to 816 in d256dfd
That probably explains part of the problem right @pgierz? |
I checked in detail, and what stands out even more is that the daily output in the outdata folder for ECHAM, for example, /home/a/a270198/work_ab0246/AWIEMS2/HI_EXP/RES_HIST/outdata/echam/RES_HIST_188001.01_glday.nc, only contains data for "1880-01-01." The rest of the year, from "1880-01-02" to "1880-12-31," is saved in the unknown folder at /home/a/a270198/work_ab0246/AWIEMS2/HI_EXP/RES_HIST/unknown/RES_HIST_188001.02_glday.nc. |
@mandresm, yes that's the right place. We instead need something that would glob over all months there. |
I think we need to change the lines above with this: outdata_sources:
"[[streams-->STREAM]]": ${general.expid}_${start_date!syear}*_STREAM
"[[streams-->STREAM]]_codes": ${general.expid}_${start_date!syear}*_STREAM.codes
"[[streamsnc-->STREAM]]_nc": ${general.expid}_${start_date!syear}*_STREAM.nc or even removing the year: outdata_sources:
"[[streams-->STREAM]]": ${general.expid}*_STREAM
"[[streams-->STREAM]]_codes": ${general.expid}*_STREAM.codes
"[[streamsnc-->STREAM]]_nc": ${general.expid}*_STREAM.nc @pgierz, do you remember why been so specific about the timestamp was important? |
There was probably a reason, but I can't remember |
Just a comment, your echam produces nc files ( Also, maybe the data you need is not lost since the
|
Thanks!This could be one reason I guess...
yes, for monthly output is not lost, but the daily output has been separated... maybe also due to the "out_filetype" issue. |
See also #1240. I adjusted it so that the cleanup function should (hopefully) automatically pick up any custom streams you define. I'm testing it now. |
That would be great! If you want you could try this non-default echam namelist (on levante):
(note some commented out lines in this file ...) |
Alright, it should work as expected. The new (or rather, the unregistered) tags get added to a globbing pattern as: mvstream_dict = {tag: f"{expid}*{tag}" for tag in mvstream_tags}
if namelist["runctl"].get("out_filetype") == 2:
# Using NetCDF Outputs:
mvstream_dict = {k: v + ".nc" for k, v in mvstream_dict.items()}
config['echam']["outdata_sources"].update(mvstream_dict) where Please test it out on the branch |
This is confirmed to work as expected. To test, I have a minimised namelist as follows: &runctl
dt_start = 1850, 1, 1
dt_stop = 1850, 2, 1
putrerun = 1, 'months', 'first', 0
lfractional_mask = .false.
lresume = .false.
out_datapath = '/work/ab0246/a270077/SciComp/Projects/esm-tools-echam-streams/experiments/test-007-pgierz/run_18500101-18500131/work/'
out_expname = 'test-007-pgierz'
rerun_filetype = 4
delta_time = 450
putdata = 1, 'months', 'last', 0
nproma = 8
npromar = 0
lcouple = .true.
getocean = 1, 'days', 'last', 0
putocean = 1, 'days', 'last', 0
lcouple_co2 = .true.
default_output = .false.
dt_resume = 1850, 1, 1
/
&parctl
nproca = 24
nprocb = 24
nprocar = 0
nprocbr = 0
/
&submodelctl
lmethox = .true.
licb = .false.
/
&submdiagctl
vphysc_lpost = .false.
/
&radctl
iaero = 3
io3 = 4
isolrad = 6
ich4 = 3
in2o = 3
co2vmr = 0.000284316986084
ch4vmr = 8.082490234375e-07
n2ovmr = 2.730210571289e-07
yr_perp = 1850
lrad_async = .false.
lrestart_from_old = .false.
/
&mvstreamctl
filetag = 'paul_custom'
source = 'g3b'
variables = 'temp2:mean>temp2=167'
interval = 1, 'months', 'last', 0
/
&wisoctl
lwiso_rerun = .false.
lwiso = .false.
nwiso = 0
/ Note, I only have one single output stream, all others are removed, and it is a name that does not appear anywhere in the esm-tools defaults. After the run, in
|
Thanks, Paul! I'm now trying to use mine namelist with setting 'out_filetype = 2' to see if the changes work. If not, I will also try 'out_filetype = 1' to identify the problem. |
I tried the new branch For anyone who is interested, the previous incorrect separation of the output files with But, a new question arises, the output for echam is renamed as
|
Hmm...that looks like a problem in one of the source/target renaming. If one looks in the ...
Source: /home/a/a270198/work_ab0246/AWIEMS2/HI_EXP//t6_nc_rmvtrig/run_18500101-18501231/work/t6_nc_rmvtrig_185011.01_echam.nc
Exp Tree: /home/a/a270198/work_ab0246/AWIEMS2/HI_EXP/t6_nc_rmvtrig/run_18500101-18501231/outdata/echam/t6_nc_rmvtrig_1850_185011.01_.01_echam
Target: /home/a/a270198/work_ab0246/AWIEMS2/HI_EXP/t6_nc_rmvtrig/outdata/echam/t6_nc_rmvtrig_1850_185011.01_.01_echam I'll see if I can find out where the extra |
I think this line is the problem, but I'm not entirely sure. esm_tools/configs/components/echam/echam.yaml Line 815 in c293aaa
Could you locally try out this instead? - "[[streams-->STREAM]]": ${general.expid}_${start_date!syear}*.${start_date!sday}_STREAM
+ "[[streams-->STREAM]]": ${general.expid}_${start_date!syear}*STREAM @mandresm, any ideas? |
I do not think the above guess is the reason for the problem.
It is a bit odd; the affected filenames end with ‘
|
Yeah, that's certainly incomplete. It should be something like this instead: tmp = {}
for k, v in mvstream_dict.items():
tmp[k] = v if v.endswith(".nc") else f"{v}.nc"
mvstream_dict = tmp |
Describe the bug
ECHAM output data went to the "Unkown" folder for some simulations and some related questions.
To Reproduce
The correct simulations can be found: /home/a/a270198/work_ab0246/AWIEMS2/HI_EXP/Pre_HIST
The broken simulations can be found: /home/a/a270198/work_ab0246/AWIEMS2/HI_EXP/RES_HIST
System (please complete the following information):
Additional context
There is another problem with the broken simulations. ECHAM is a restart simulation, and the output generates two files with similar names. For example, for the year 2010, you can find "RES_HIST_201001.01_echam.nc" and "RES_HIST_201001.02_echam.nc" in the unknown folder. However, only the file with "02" can be read using CDO or ncdump. I’m wondering if anyone can provide some hints on this, or if I did something incorrectly when restarting ECHAM.
The text was updated successfully, but these errors were encountered: