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

how to change incoming shortwave radiation

Dear all,

I would like to modify incoming solar radiation by modifying model code. I want to increase solar flux at top of atmosphere in summer and decrease it in winter.
Where should I change the code?
I found something in rrtmg_sw_spcvmc.f90

! Apply adjustment for correct Earth/Sun distance and zenith angle to incoming solar flux
zincflx(iw) = adjflux(jb) * zsflxzen(iw) * prmu0

But how does this loop works?

Thanks very much
 
Probably easier than changing source code is to change the solar flux file itself. I think that is set with a namelist parameter called solar_irrad_data_file. I think this boils down to the same question as Total Solar Irridiance Modification in CAM5

Let us know if that is not the case.
Dear Brain,

Thanks very much for the reply.
What I want to do is to change solar flux at each latitude. Case1: increase the solar flux by 3w/m2 at each latitude; case 2: increase solar flux at the tropics and decease it at high laltitudes( of a certain constant).
Do you think change the input file can achieve this target ?

have a nice weekend in advance
Xiao
 

brianpm

Active Member
To change the flux differently at different latitudes will require some kind of change in the geometry. You'll probably need to modify the solar zenith angle. That is used in radiation_tend on the way to getting TOA irradiance (SOLIN). It's calculation is in a module called orbit or zenith or something like that.
 
To change the flux differently at different latitudes will require some kind of change in the geometry. You'll probably need to modify the solar zenith angle. That is used in radiation_tend on the way to getting TOA irradiance (SOLIN). It's calculation is in a module called orbit or zenith or something like that.
Thanks for the reply, Brian,

what about global one ? Would it be simpler ?

thanks very much
 

brianpm

Active Member
For a global change, I would modify the solar irradiance file. From your original comment, it sounds like you might want to consider changing the orbital parameters. To exaggerate the seasons, I think you could increase the obliquity, for example. Though it depends on what kind of change you are looking to achieve.
 
For a global change, I would modify the solar irradiance file. From your original comment, it sounds like you might want to consider changing the orbital parameters. To exaggerate the seasons, I think you could increase the obliquity, for example. Though it depends on what kind of change you are looking to achieve.
Dear Brain,

Thanks for the reply, you are right, change the obliquity can exaggerate the seasons, but another experiment I want to do is to increase solar flux in all seasons, I guess change the orbital parameter cannot achieve this.

The solar irradiance file is for each band, so I need to do some calculations...right? let me think about how I can do it.

Thanks very much

Xiao
 

brianpm

Active Member
Yes, the irradiance fie is for every band. The way I have done this in the past is to apply a simple scaling to change the TSI. The good part about that is that it is easy; the downside is that it is unphysical because it no longer represents a realistic blackbody emitter. But I haven't thought of a more appropriate way to do it and keep the peak of the spectrum in the visible. Here is a link to a script that I used to do this scaling; maybe it is helpful:


(I don't know how long dropbox links last; let me know if it expires, and I can send it to you directly.)
 
Yes, the irradiance fie is for every band. The way I have done this in the past is to apply a simple scaling to change the TSI. The good part about that is that it is easy; the downside is that it is unphysical because it no longer represents a realistic blackbody emitter. But I haven't thought of a more appropriate way to do it and keep the peak of the spectrum in the visible. Here is a link to a script that I used to do this scaling; maybe it is helpful:


(I don't know how long dropbox links last; let me know if it expires, and I can send it to you directly.)
Thanks very much, Brian,

I have downloaded the file and will give it a try :). Really appreciate your help :P

Best,

X
 

jialiu

NJNU
Member
Dear all,

I would like to modify incoming solar radiation by modifying model code. I want to increase solar flux at top of atmosphere in summer and decrease it in winter.
Where should I change the code?
I found something in rrtmg_sw_spcvmc.f90

! Apply adjustment for correct Earth/Sun distance and zenith angle to incoming solar flux
zincflx(iw) = adjflux(jb) * zsflxzen(iw) * prmu0

But how does this loop works?

Thanks very much
Hi all,
I have the same problem, I want to modify the incoming solar radiation of the region. Did you solve the problem. can you tell me how to solve it.
Thanks very much
 
Top