geoschem / geos-chem

GEOS-Chem "Science Codebase" repository. Contains GEOS-Chem science routines, run directory generation scripts, and interface code. This repository is used as a submodule within the GCClassic and GCHP wrappers, as well as in other modeling contexts (external ESMs).
http://geos-chem.org
Other
166 stars 159 forks source link

How to apply day-of-month scaling factor? #2434

Open hazel008 opened 1 month ago

hazel008 commented 1 month ago

Your name

Hansen Cao

Your affiliation

University of York

Provide a clear and concise overview of the new feature requested.

Hi I would like to apply day-of-month scaling factor to anthropongeic emissions. I tried adding the following daily factors (30 float numbers) to HEMCO_Config.rc following day-of-week scalling factors:

# perturb monthly emissions by random number for each day
3100 DAILY_SCALFACT 0.697/1.438/0.631/1.408/1.310/1.491/1.477/0.829/1.238/0.705/1.250/1.306/0.999/1.133/0.817/1.141/0.675/1.424/0.765/0.677/0.950/1.356/1.456/1.385/1.170/1.395/1.381/0.591/1.228/0.549 - - - xy unitless 1

And also added the following lines around line 3043 in hcoio_util_mod.F90

   ! hsc add daily factors following weekday factors
       ELSEIF ( NUSE == 30 ) THEN
          Lct%Dct%Dta%DeltaT = 24

And added the following lines around line 581 in hco_tidx_mod.F90:

     ELSEIF ( nt == 30 ) THEN

          ! Sanity check if dt = 24 hours
          IF ( dt /= 24 ) THEN
             MSG = '30 time slices but delta t is not 24 hours!' // &
                  TRIM(Dct%cName)
             CALL HCO_ERROR( MSG, RC )
             RETURN
          ENDIF

          IF ( Dct%Dta%IsLocTime ) THEN
             cTypeID = 31
          ELSE
             cTypeID = 311
          ENDIF

The code compiles and runs smoothly, but I noticed that only the first number of daily scaling factors seems to be used. As a result, the emissions decrease by about 30% every day, with no fluctuations in the emissions throughout the month.

I wonder if you have any suggestions on implementing day-of-month scalling factors? Thanks!

Reference(s)

No response

Will you be implementing this feature yourself?

Yes

Additional information

No response

hazel008 commented 1 month ago

Hi, just found out that adding the following line in HEMCO_Config.rc works:

3100 DAILY_SCALFACT 
0.697/1.438/0.631/1.408/1.310/1.491/1.477/0.829/1.238/0.705/1.250/1.306/0.999/1.133/0.817/1.141/0.675/1.424/0.765/0.677/0.950/1.356/1.332/1.456/1.385/1.170/1.395/1.381/0.591/1.228/0.549 - 2000/1/1-31/0 C xy 1 1