[MITgcm-devel] profile package issues

Matthew Mazloff mmazloff at ucsd.edu
Fri Oct 15 17:25:18 EDT 2010


Hello,

OK, I think I am satisfied that (1) is taken care of -- I see that  
prof_mask1D_cur is saved and read.  Though I wonder if num_profiles  
should still be incremented as the cost will not be.  So if we have  
enough points that are not in our domain -- or on land -- then we will  
appear to be doing better than we really are (i.e. we can make our  
normalized cost low by including observations outside our domain)
I suggest the change to cost_profiles.F:

CMM               if (prof_weights1D(K).GT.0.) then
                if (prof_weights1D(K)*prof_mask1D_cur(K,bi,bj).GT.0.)  
then
                  num_profiles(num_file,num_var,bi,bj)=
      &               num_profiles(num_file,num_var,bi,bj)
      &               +prof_mask1D_cur(K,bi,bj)
                endif

Still troubled by (2) -- are you sure we need to account for  
periodicity in this way?

-Matt

On Oct 13, 2010, at 2:10 PM, Matthew Mazloff wrote:

> Hello (Gael),
>
> We are having two issues with the profile package
>
> 1) The flag set in profiles_interp (mask_cur) does not appear to be
> saved.  And in the profiles cost all that is considered is the
> observational weight.  So if an observation is taken but it is not a
> wet point for the model, there is a serious issue.  The prof_data1D
> will be non-zero, and the prof_traj1D wil be zero -- and there
> difference will be counted in the cost.  This leads to huge cost
> values, especially for salinity.
>
> A quick fix would be to have a
> if (prof_traj1D(K).NE.0.) statement on line 121 of cost_profiles.
>
> 2) The model values written for profiles with longitudes < XC(1) are
> being set to 0.  Though I cannot see in the code why this is...  I
> wonder if there is an issue with line 117 in profiles_interp:
>         if (xG(i,j,bi,bj).LT.xG(1,j,bi,bj)) then
>          lon_tmp1=xG(i,j,bi,bj)+360
>          else
>          lon_tmp1=xG(i,j,bi,bj)
>          endif
> Perhaps since lon_tmp1 is a lower bounds it should always just be set
> to lon_tmp1=xG(i,j,bi,bj) without the need for the IF statement.
>
>
> What do people think?  These are minor issues but perhaps a major  
> effect
>
> Thanks,
> Matt
>
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel




More information about the MITgcm-devel mailing list