[MITgcm-devel] [MITgcm-cvs] MITgcm/pkg/exf CVS Commit
Martin Losch
Martin.Losch at awi.de
Tue Apr 13 04:32:18 EDT 2010
Gael,
I have suggestion for the new zen_albedo code. This type of statement:
> LLLAT=yC(i,j,bi,bj)+91. _d 0
> c ensure that it is in valid range
> LLLAT=max(LLLAT, 1._d 0)
> LLLAT=min(LLLAT, 181._d 0)
> c store
> zen_albedo_pointer(i,j,bi,bj)=LLLAT
will _not_ give you reasonable results for cartesian grids (because there yC is in m and typically ranges from 0 to 10^5 or 10^6), neither for cylindrical grids. Not that I think that people will excessively use cartesian grids with a latitude-dependent surface albedo, but I have once spent a long time on debugging pkg/dic, where the routine insol.F did something similar, and people actually tried to use the code on a cartesian grid and were surprised by the strange tracer distributions. My solution was this:
> C latitude in radians
> lat=YC(1,j,1,bj)*deg2rad
> C latitute in radians, backed out from coriolis parameter
> C (makes latitude independent of grid)
> IF ( usingCartesianGrid .OR. usingCylindricalGrid )
> & lat = asin( fCori(1,j,1,bj)/(2. _d 0*omega) )*deg2rad
Maybe you can consider a similar solution for the zen_albedo code (I found a few places where yC/xC are assumed to be lon/lat)?
Martin
On Apr 13, 2010, at 8:57 AM, Gael Forget wrote:
> Update of /u/gcmpack/MITgcm/pkg/exf
> In directory faulks.csail.mit.edu:/u/u2/gforget/MITgcm/pkg/exf
>
> Modified Files:
> EXF_FIELDS.h EXF_PARAM.h exf_ad_diff.list exf_init_fixed.F
> exf_radiation.F exf_readparms.F exf_summary.F
> Added Files:
> exf_zenithangle.F exf_zenithangle_table.F
> Log Message:
> account for the variation of albedo as a function of zenith angle
>
>
> _______________________________________________
> MITgcm-cvs mailing list
> MITgcm-cvs at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-cvs
More information about the MITgcm-devel
mailing list