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

radiation calculation

I am running CAM3.0 in aquaplanet mode with revised SSTs to get rid of the Hadley circulation. In order to make this work correctly, I need to compute radiation as though there are no clouds in the atmosphere. I am thinking of changing the minimum cloud amount to distinguish from clear sky OR the cloud fraction that are used in the model physics code RADCSWMX. Would this be a good way to proceed with this? Is there any single variable that is read into this code (if this is the correct code to use) that I could just turn off so the code does not see any clouds when it computes radiation? I do not want to turn off clouds in the model though, I just do not want the radiation code to see them.

If this is a more daunting task than I realize, would it be easier to read in a climatological radiation from a file and to turn off interactive (model calculated) radiation completely?

Thanks,
Cathy
 

pjr

Member
You can achieve the results you want by modify tphysbc.F90 in the following way:

find the lines that calls radctl.

modify the call by replacing the string "cld" with the string "zero"
cld is an array containing the real cloud fraction
zero is an array filled with zeroes.

Under these circumstances the radiation should not see any clouds.

You can confirm that you have achieved the desired result by making a run and looking at the "cloud forcing" variables on the history files. These are called "SWCF" and "LWCF". If you got the correct result they will contain zero. If they are non-zero then you need to revisit the issue.

Phil
 
The SWCF and LWCF were nonzero after I replaced cld with zero in the code tphysbc.F90. Would setting cldmin>1.0 in the codes RADCSWMX and RADCLWMX have the effect of not allowing the radiation code to see the clouds? Would this affect the way the model sees the clouds at all?

Thanks,
Cathy
 

pjr

Member
cathryn.meyer@yale.edu said:
The SWCF and LWCF were nonzero after I replaced cld with zero in the code tphysbc.F90. Would setting cldmin>1.0 in the codes RADCSWMX and RADCLWMX have the effect of not allowing the radiation code to see the clouds? Would this affect the way the model sees the clouds at all?

Thanks,
Cathy

How big were the numbers you saw in SWCF and LWCF?
 

pjr

Member
cathryn.meyer@yale.edu said:
Most were zero or on the order of 10^-15, but occasionally there were areas where the numbers got as large as 50. or 75.

Cathy

That is not good. Before I start worrying, or poking around in the code
can you assure me that you have done the test "exactly" the way I
suggested --- neither more, nor less. You must realize that we
are juggling many different tasks here, and I dont want to be spending
any time on sorting out other issues.

Thanks

Phil
 
Here is the change that I made to tphysbc.F90 (replaced "cld" with "zero" in the radctl call):
-----------------------------------------------------------------------------------------------
! Complete radiation calculations
!
call t_startf ('radctl')
call radctl (lchnk, ncol, lwup, emis, state%pmid, &
state%pint, state%lnpmid, state%lnpint, state%t, state%q, & zero, cicewp, cliqwp, coszrs, asdir, asdif, &
aldir, aldif, pmxrgn, nmxrgn, fsns, fsnt ,flns ,flnt , &
qrs, qrl, flwds, rel, rei, &
sols, soll, solsd, solld, &
landfrac, state%zm, state, fsds)
call t_stopf ('radctl')
--------------------------------------------------------------------------------------------

I ran the model for 100 days in aquaplanet mode on my linux pc, although I don't think that would make any difference. I can send you ascii files of the SWCF and LWCF output if you'd like to see the numbers for yourself. Here are the maxes and mins:

(0) SWCF max and min
(0) 0.0001462979
(0) -1.450159
(0) LWCF max and min
(0) 67.38367
(0) -1.61599e-10

Although most of the values are zero or near zero (10^-15 or less).

I will try the model run again just in case I screwed anything up, but the output I just showed you was from the second try of the run already.

Cathy
 

pjr

Member
cathryn.meyer@yale.edu said:
Here is the change that I made to tphysbc.F90 (replaced "cld" with "zero" in the radctl call):
-----------------------------------------------------------------------------------------------
! Complete radiation calculations
!
call t_startf ('radctl')
call radctl (lchnk, ncol, lwup, emis, state%pmid, &
state%pint, state%lnpmid, state%lnpint, state%t, state%q, & zero, cicewp, cliqwp, coszrs, asdir, asdif, &
aldir, aldif, pmxrgn, nmxrgn, fsns, fsnt ,flns ,flnt , &
qrs, qrl, flwds, rel, rei, &
sols, soll, solsd, solld, &
landfrac, state%zm, state, fsds)
call t_stopf ('radctl')
--------------------------------------------------------------------------------------------

I ran the model for 100 days in aquaplanet mode on my linux pc, although I don't think that would make any difference. I can send you ascii files of the SWCF and LWCF output if you'd like to see the numbers for yourself. Here are the maxes and mins:

(0) SWCF max and min
(0) 0.0001462979
(0) -1.450159
(0) LWCF max and min
(0) 67.38367
(0) -1.61599e-10

Although most of the values are zero or near zero (10^-15 or less).

I will try the model run again just in case I screwed anything up, but the output I just showed you was from the second try of the run already.

Cathy
Stay tuned. We will get back to you.
Phil
 

pjr

Member
My fault. The array "zero" is not a 2-D array, eg it was dimensioned
(pcols), rather than (pcols,pver).

Declare a 2-D array, like

real(r8) zero2d(pcols,pver)

set it to zero

zero2d = 0

and use that array instead of cld in the call to radctl. It worked for us.

Phil
 
Top