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

changing surface albedo

Hi,
I am running CCSM3.0. I need to modify the surface albedo in source code (SurfaceAlbedoMod.F90) for a particular region in northern hemisphere but I am not quite sure where and how will I implement this changes in SurfaceAlbedoMod.F90.

Any help will be appreciated

thanks

Debasish
 

slevis

Moderator
Staff member
Dear Debasish,

One way to do it is not in the code but in the surface data, by changing the soil color index and/or the vegetation. In this case you won't know what albedo the model will calculate until you look at the output. The reason is that the surface albedo will still vary with soil wetness and vegetation.

If you have a specific surface albedo value in mind, then you should search in the code for the calculation of surface albedo. When you find the last time in the timestep that surface albedo is modified before being used, that's where you should add your lines of code that overwrite the simulated value. To apply the modification over a specific region, look for variables related to latitude and longitude and use an if statement.

I hope these suggestions help.

Sam
 
Dear Sam,

Thanks for your reply. Yes , I have some specific values of albedo change for a particular region.
I looked in the script SurfaceAlbedoMod.F90 but I did not find the surface albedo that varies with latitude and longitude so far. I will look through carefully once again.

In the SurfaceAlbedoMod.F90 script, dimension of albedo is two i.e first one is visible/NIR and second one is number of vegitated pft where coszen>o.

I guess I need to modify the albedo value just before the "end subroutine SurfaceAlbedo" or in the Subroutine TwoStream where it calculates the values of "albd" and "albi" in the script SurfaceAlbedoMod.F90

Kindly inform me which one is the approprite place to change the albedo or is there any other script you have in your mind and is there any way I can run the script SurfaceAlbedoMod.F90. alone to check the values.

Thanks again,

Debasish
 

slevis

Moderator
Staff member
You are right that the albedo is dimensioned by radiation band and by the p vector. Please look elsewhere in the code for examples that make use of the correspondence between p and latitude and longitude or i and j. See how that mapping is used and replicate it in your code modifications.

I refrain from telling you the exact changes you need because I don't know them off the top of my head and it will take a significant amount of my time to figure them out. Our policy is to guide users but not do their work for them. Your modifications may take you several iterations to work correctly. This is normal and expected in code development.

Sam
 
Dear Sam,

Thanks for all helps you provided me. Sorry for asking about the exact changes. I think, now I will be able to do it myself using your guidences.

Thanks Again

Debasish
 
Top