Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

Delay the seasonal cycle of Solar Insolation

sujatra1bht

Sujatra Bhattacharyya
New Member
I am using the CESM 2.1.3 FHIST compset. I want to delay the seasonal cycle of solar insolation by one year. In the first year, it will move from the Southern Hemisphere (1st month) to the Northern Hemisphere (12th month), and in the next year, the insolation will displace from the Northern Hemisphere (1st month) to the Southern Hemisphere (12th month). The seasonal cycle will take two years instead of one year (Actual). That means the earth's revolution period will be half the actual period. Is it possible to do this?

Thanks.
Sujatra
 

brianpm

Active Member
I can't think of an easy way to make this happen. I'm assuming the goal here is to keep a 24-hour day length, but have 730 days per year.

There are two issues: (1) controlling how the sunshine is distributed (orbital parameters), and (2) controlling how much solar irradiance there is at the top of atmosphere.

Here are some ideas about how I think you could do this, but I haven't tested any of this. Follow up if you find a different/better approach or this doesn't work.

ORBITAL PARAMTERS

Conceptually one would change the number of days per year by slowing down the revolution about the sun. I don't know that this can be done very easily right now. The shr_orb_mod module is going to need to be modified to do it. That module is in:
$CESMROOT/cime/src/share/util/shr_orb_mod.F90

The shr_orb_cosz function calculates the cosine of solar zenith angle, and it appears to assume a 365-day year. The orbital parameters are derived based on Berger (1978). This would have to be avoided somehow because it will put the planet in the wrong place of the modified orbit. The subroutine shr_orb_decl is used for the solar declination angle, and it is hard-coded to a 365-day year as well.

- Looking at shr_orb_cosz, it might work if the declination is correct for the target configuration.
- except that it expect to get julian day as an input; so if you don't modify the places where it gets called, then you'll need to make a correction somehow
- Actually, under normal usage, shr_orb_cosz switches to use shr_orb_avg_cosz. I think the same thing would apply, but consult Zhou et al. (2015 https://doi.org/10.1002/2015GL063239) to confirm.
- To make a correction to the solar declination, change the parameter dayspy to 730. There's another parameter for vernal equinox, and you will need to make a decision for what to do with that (suggestion below). There's a formula from Berger to get the true longitude. I'm not sure whether that formula matters for this idealized orbit, so you could just set "lamb = lambm" maybe, but I don't know if there are any consequences to doing that.
- The key to slowing down the planet's movement through its orbit is to control the longitude that is used for the solar declination
- I think to do that, you could replace the shr_orb_params subroutine

- I wonder if you could get away with using fixed orbital parameters and setting the eccentricity to 0 (circular orbit), specify the normal obliquity, and just put mvelp = 730/4.

SOLAR IRRADIANCE

This might be easier, but depends on what your needs are.

The solar irradiance is controlled by $CAMROOT/src/chemistry/utils/solar_irrad_data.F90 along with namelist variables. Usually the irradiance is taken from a file and depends on the model's current date.

The namelist parameters (see solar_data.F90) are:
Code:
namelist /solar_data_opts/ &
         solar_irrad_data_file, solar_parms_data_file, solar_euv_data_file, solar_wind_data_file, &
         solar_data_type, solar_data_ymd, solar_data_tod, solar_const, solar_htng_spctrl_scl
I think you might be able to specify "solar_const" as a number (e.g., 1361 W/m2) and avoid any date checking.


see also:
- How to set the orbital parameter acceleration in CESM1.0?
- Zhou, L., M. Zhang, Q. Bao, and Y. Liu (2015), On the incident solar radiation in CMIP5 models. Geophys. Res. Lett., 42, 1930–1935. doi: 10.1002/2015GL063239.
- "RESOURCES FOR CESM1.2 PALEOSIMULATIONS" -- https://www2.cesm.ucar.edu/models/paleo/faq/
 
Top