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

MODIFY SUBROUTINE IN COUPLER CODE TO SET ALBEDO TO A DIFFERENT VALUE IN A SPECIFIC REGION

Modifying albedo in the coupler question I am attempting to modify ocean surface albedo in specific rectangular regions (bound by lat min, lat max, lon min, lon max) using the CESM (cesm1_1_1_ccmi23). I have identified the appropriate subroutine in the coupler where albedo is calculated.  Please see attached.  I found no other instances in which albedo is calculated in any of the model components.   I expect that if I were to correctly prescribe albedo to a desired value here in this loop (see below) in this section of the coupler code, this would then calculate albedo on the ocean grid, create a sparse matrix and then communicate albedo to the other components of the model on the appropriate grid.  The data from the albedo calculations would pass from the ocean grid, through the interpolation in the coupler to the appropriate grid,such as 0.9x1.25 for atmosphere and gx1v6 for the ocean.   When I attempt to define a region within the code (as shown below) I am unable to build the case and I get error messages indicating that the regulat lat lon coordinates I am providing are invalid.  The buildlog shows a number of errors.  The errors seem to stem from the fact that I am giving the model regular  lat lon coordinates.  The error message says basically the model needs to know the weighted ocean values.  Initially, I read this literally, meaning that I'd need to provide the lat lon bounds as rlat and rlon bounds - rotated ocean coordinates.  However, lats(n) and lons(n) are defined as latitude and longitude earlier in the code. Basically, how do I define where (in terms of latitude and longitude) I want to change the ocean albedo in the coupler?  Why can't I just define lats(n) in regular lat lon coordinates?   Is there a program available to convert regular lat lon coordinates and rotated ocean coordinates into lats(n)?    If anyone has experience modifying albedo in the coupler, would you be able to indicate any other places in the code that may need to be changed.  Any comments that suggest that it might be better to go about this differently would also be appreciated. This is the pseudo-code of what I want to do.  It would just set albedo in the box that I draw with the code and leave it as is elsewhere. For n=1,nlocIf (lats(n) .lt. x1 .and. lats(n) .gt. x2 .and. lons(n) .lt. y1 .and. lons(n) .gt. y2)                anidr = 0,5_R8
                avsdr = 0.5_R8
                anidf = 0.5_R8
                avsdf = 0.5_R8else                anidr=anidr                avsdr=avsdr                anidf=anidf                avsdf=avsdfend Information about the coupler http://www.cesm.ucar.edu/models/ccsm3.0/cpl6/users_guide/node20.html 
 Thanks so much for the help.  Please let me know if any clarification is required.
 
Top