Skip to content
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

How to conduct various tests using version V5.0 of the emep-ctm model? #128

Open
lovechang1986 opened this issue Dec 17, 2024 · 19 comments
Open

Comments

@lovechang1986
Copy link

Hello everyone! Thank you very much for open-sourcing such an excellent model.

I'm a beginner, but I'm really eager to learn about the emep-ctm model. I've checked the user manual and downloaded all the model V5.0 test data through catalog.py. However, I'm still confused after the successful installation. I wonder if there are any step-by-step tutorials or instructions based on version V5.0 and the data?

Besides, I noticed that this model has tested the output of the pollen model. Are there any more detailed contents available for sharing regarding this part? Thank you again for sharing.

@avaldebe
Copy link
Collaborator

I'm a beginner, but I'm really eager to learn about the emep-ctm model. I've checked the user manual and downloaded all the model V5.0 test data through catalog.py. However, I'm still confused after the successful installation. I wonder if there are any step-by-step tutorials or instructions based on version V5.0 and the data?

Do you mean how to compile the model and submit a job to an HPC?

@lovechang1986
Copy link
Author

I've already compiled the model and generated an executable file named "emepctm". Meanwhile, I've also used the command "catalog.py -R 5.0" to download all the data of version 5.0. However, I'm still quite confused about how to run it. I hope there can be a step-by-step tutorial.

@gitpeterwind
Copy link
Member

gitpeterwind commented Dec 18, 2024

We do not have a tutorial. We used to organize course, but haven't done so the past years. Often groups have some common project or collaboration with us. Still some groups have been able to use it on their own too.
To run the model something like this line must be executed:
mpirun emepctm
It uses the info written in config_emep.nml to set all the parameters and pathes. You can then edit that file to your needs.

@avaldebe
Copy link
Collaborator

I assume you are trying to run the model on an HPC.
Please correct me if I'm wrong.

The source code and the benchmark results include a sample HPC job/script and model configuration (modrun.sh and config_emep.nml).
The queue options at the begging of the job/script will need to be adopted depending on the queue used on your HPC.

@lovechang1986
Copy link
Author

I submit jobs via bsub and check the job output as follows.

tim 34 phyche:Derived                    584.1264    914.3779
tim 35 phyche:sites and hourly out         2.1127    667.1528
tim 36 metfieldint                        43.4933     47.5914
tim 37 WrtChem                             2.1597     50.8207
tim 47 total within loops              20542.0147  20542.2125
tim 48 total                           20554.3690  20554.5799
 programme is finished
734818.153u 178.953s 5:42:36.26 3575.5% 0+0k 0+8io 0pf+0w


PS:

Read file <eem.err.794195> for stderr output of this job

But how can I find the output files? The configuration files also use the defaults.
The config_emep.nml as follows:

&Model_config
  GRID      = 'MACC14',
  iyr_trend = 2017,
  runlabel1 = 'Pollen',
  runlabel2 = 'Opensource_Setup_2023',
  startdate = 2017,01,01,00,
  enddate   = 2017,09,30,24,
!------------------------------
  DataPath(1) = '../input',
!------------------------------
  meteo                 = '../meteoYYYY/GRID/meteoYYYYMMDD.nc',
  DegreeDayFactorsFile  = 'MetDir/DegreeDayFactors.nc',
  MonthlyFacFile        = 'DataDir/MonthlyFacs_eclipse_V6b_snap_xJun2012/MonthlyFacs.POLL',
  MonthlyFacBasis       = 'GENEMIS',
  Monthly_timezoneFile  = 'DataDir/monthly_timezones_GLOBAL05.nc',
  DailyFacFile          = 'DataDir/DailyFac.POLL',
  HourlyFacFile         = 'DataDir/HourlyFacs.INERIS',
  EMEP_EuroBVOCFile     = 'DataDir/EMEP_EuroBVOC.nc',
  DustFile              = 'DataDir/Dust2014_month.nc',
  TopoFile              = 'DataDir/topoGRID.nc'
  SitesFile             = 'DataDir/sites.dat',
  SondesFile            = 'DataDir/sondes.dat',
  Vertical_levelsFile   = 'DataDir/Vertical_levels20_EC.txt'
  AircraftEmis_FLFile   = 'DataDir/AircraftEmis_FL.nc',
 !from ECCAD:
  soilnox_emission_File = 'DataDir/CAMS-GLOB-SOIL_Glb_0.5x0.5_soil_nox_v2.4clim_monthly.nc',
!------------------------------
  ZCMDIR                     = 'DataDir/ZCM_EmChem19r',
  SplitDefaultFile           = 'ZCMDIR/emissplit_defaults_POLL.csv',
  SplitSpecialsFile          = 'ZCMDIR/emissplit_specials_POLL.csv',
! cmxbicDefaultFile          = 'ZCMDIR/CMX_BoundaryConditions.txt',
! cmxBiomassBurning_FINN     = 'ZCMDIR/CMX_BiomassBurning_FINNv2p5.txt',
! cmxBiomassBurning_GFASv1   = 'ZCMDIR/CMX_BiomassBurning_GFASv1.txt',
!------------------------------
  LandCoverInputs%LandDefs  = 'DataDir/Inputs_LandDefs.csv',
  LandCoverInputs%Do3seDefs = 'DataDir/Inputs_DO3SE.csv',
  LandCoverInputs%MapFile   = 'DataDir/Landuse_PS_5km_LC.nc',
                              'DataDir/glc2000xCLMf18.nc',
  LandCoverInputs%mapMed    = 'DataDir/medMap_0.5deg.nc',
  LandCoverInputs%desert    = 'DataDir/Olson_2001_DEforEmep.nc',
  PBL%ZiMIN             =  50.0,
  PBL%HmixMethod        = "JcRb_t2m",! rv4.52 default
!------------------------------
  USES%FOREST_FIRES     = F,
  USES%MonthlyNH3       = 'LOTOS',   ! Better monthly profile, for Europe only!
! 2021-2022 updates:
! CAMS81-based SOILNOX DANGER - some inventories already have fertilizer-induced soil NOx.
! Choose one of:
! USES%SOILNOX_METHOD = 'Total',    ! for CAMS-REG, ECLIPSE v5
  USES%SOILNOX_METHOD = 'NoFert',   ! for EMEP/CEIP, ECLIPSE v6
!------------------------------
  USES%SEASALT          = F,
  USES%AIRCRAFT_EMIS    = F,
  USES%LIGHTNING_EMIS   = F,
!------------------------------
  USES%POLLEN           = T,
  USES%NOCHEM           = T,         ! only advection, skip chemistry
  USES%CLOUDJ           = F,
!------------------------------
  USES%ASH              = F,         ! Ash from historical Volcanic Eruptions
!-------- volcanic emissions from passive degassing and historical eruptions
  flocdef='DataDir/columnsource_location.csv_2023',
  femsdef='DataDir/columnsource_emission.csv_2023',
  need_topo=F, ! do not use column emissions if TopoFile not found
  NMAX_LOC=-1, ! estimate from lines in flocdef
  NMAX_EMS=-1, ! estiamte from lines in femsdef
!------------------------------
  fileName_O3_Top   = 'NOTSET',
  fileName_CH4_ibcs = 'NOTSET',
!------------------------------
! HOURLYFILE_ending="YYYYMM.nc",
OutputConcs=
  'POLLEN_BIRCH'  ,'Gm3' ,'2d' ,'AIR_CONCS','SPEC' ,'D',
  'POLLEN_OLIVE'  ,'Gm3' ,'2d' ,'AIR_CONCS','SPEC' ,'D',
  'POLLEN_ALDER'  ,'Gm3' ,'2d' ,'AIR_CONCS','SPEC' ,'D',
  'POLLEN_RWEED'  ,'Gm3' ,'2d' ,'AIR_CONCS','SPEC' ,'D',
  'POLLEN_GRASS'  ,'Gm3' ,'2d' ,'AIR_CONCS','SPEC' ,'D',
  'POLLEN_MWORT'  ,'Gm3' ,'2d' ,'AIR_CONCS','GROUP','D',
&end
&Pollen_config
  birch_frac_nc  = 'DataDir/Pollen/birch_frac.nc',
  birch_data_nc  = 'DataDir/Pollen/pollen_data.nc',
  birch_corr_nc  = 'DataDir/Pollen/birch_factor_YYYY.nc',
  olive_data_nc  = 'DataDir/Pollen/olive_YYYY.nc',
  alder_data_nc  = 'DataDir/Pollen/alder_GRID.nc',
  rweed_frac_nc  = 'DataDir/Pollen/ragweed_GRID.nc',
  rweed_data_nc  = 'DataDir/Pollen/ragweed_GRID.nc',
  grass_field_nc = 'DataDir/Pollen/grass_data.nc',
  grass_time_nc  = 'DataDir/Pollen/grass_data.nc',
  grass_mode = 'gamma',
  mugwort1_data_nc = 'DataDir/Pollen/mugwort1_GRID.nc',
  mugwort2_data_nc = 'DataDir/Pollen/mugwort2_GRID.nc',
  mugwort3_data_nc = 'DataDir/Pollen/mugwort3_GRID.nc',
  mugwort4_data_nc = 'DataDir/Pollen/mugwort4_GRID.nc',
  mugwort5_data_nc = 'DataDir/Pollen/mugwort5_GRID.nc',
  mugwort_mode = 'gamma',
&end

@gitpeterwind
Copy link
Member

You should get outputs in NetCDF files; with your settings they should have names Pollen_fullrun.nc, Pollen_month.nc and Pollen_day.nc

@lovechang1986
Copy link
Author

yes. but as the settings where are those files.

@gitpeterwind
Copy link
Member

in the same directory as where you run the model

@lovechang1986
Copy link
Author

Thanks. Does it mean that it is in the same directory as the executable file emepctm?

@gitpeterwind
Copy link
Member

Normally, yes (you could in principle give a path to emepctm, but if you run the model with something like mpirun emepctm, it should be the same. If you use something like for example mpirun prog/emepctm, it would not be the same).

@lovechang1986
Copy link
Author

lovechang1986 commented Jan 2, 2025

Thank you very much. At present, I have found these files(pollen_day.cn pollen_fullrun.nc) and checked that the results in the files are in units of days. Could you please output the forecast in units of hours?

@gitpeterwind
Copy link
Member

If you want values for each hour, you could add an "H" in the corresponding lines in the config_emep.nml, for example:
'POLLEN_BIRCH' ,'Gm3' ,'2d' ,'AIR_CONCS','SPEC' ,'DH',

@lovechang1986
Copy link
Author

Thank you so much. Could I get your email address? I may have a lot of questions to ask when using it. I'm planning to read and study the code of the whole project first.

@gitpeterwind
Copy link
Member

you can contact me at [email protected] , but in principle everything should be available at https://emep-ctm.readthedocs.io/en/latest/
(For pollen specific questions, Alvaro is the person to ask.)

@lovechang1986
Copy link
Author

👏
I may pay more attention to pollen in my subsequent use. So, what's Allen's email address?

Besides, can the model be set to other regions around the world? And can the horizontal resolution be adjusted?

@gitpeterwind
Copy link
Member

Alvaro might prefer to use this github platform for communication (I leave to him to answer when he is back from vacation @avaldebe ).
The model can and is used anywhere in the world. The resolution is determined by the meteorological input data; if you provide meteorological data with another resolution, the model will run in that resolution and domain. Most external users make their meteo data using wrf. (we do not use wrf at our institute though).

@gitpeterwind
Copy link
Member

gitpeterwind commented Jan 2, 2025

I would like to add that our model is primarily a chemical pollutant model, and pollen is only something useful that we have in addition. There might be more useful models if you are only interested in pollen.

@lovechang1986
Copy link
Author

Thanks.:+1:

Based on your professional knowledge, what are the known and relatively useful models in the world that can be used to simulate pollen at present?

@gitpeterwind
Copy link
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants