[MITgcm-devel] pickups: mdsio and mnc with unorthodox fields

Martin Losch mlosch at awi-bremerhaven.de
Mon Mar 20 06:07:56 EST 2006


Hi,
I am having problems with (understanding) writing pickup files with  
fields that are NOT 2D as etaN, but 3D with the 3rd dimension  
different from Nr. Example: UICE,VICE,TICES in pkg/seaice/ 
seaice_pickup.F
TICES is define with MULTDIM=7 (currently) in the third dimension:
       _RL TICES      (1-OLx:sNx+OLx,1-OLy:sNy+OLy,MULTDIM,nSx,nSy)
and this is how the pickup file is written
        CALL MDSWRITEFIELD
      &      (fn,prec,lgf,'RL', MULTDIM,  TICES,1, myIt,myThid)
        CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 1,  YNEG, 8, myIt,myThid)
        CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 1, HSNOW, 9, myIt,myThid)
        CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3,  UICE, 4, myIt,myThid)
        CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3,  VICE, 5, myIt,myThid)
        CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3,  HEFF, 6, myIt,myThid)
        CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3,  AREA, 7, myIt,myThid)
My understanding is, that the 7th argument of MDSWRITEFIELD give the  
position the file, so 4 (as for UICE) means the 4th record, but where  
are record 2 and 3? Even more confusing, if SEAICE_MULTILEVEL is  
undefined, the 2D field TICE replaces TICES and writing the pickup  
looks like this:
        CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 1,  TICE, 1, myIt,myThid)
        CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 1,  YNEG, 2, myIt,myThid)
        CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 1, HSNOW, 3, myIt,myThid)
        CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3,  UICE, 2, myIt,myThid)
        CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3,  VICE, 3, myIt,myThid)
        CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3,  HEFF, 4, myIt,myThid)
        CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3,  AREA, 5, myIt,myThid)
Doesn't that mean, that UICE (second record) overwrites YNEG (second  
record also), equivalently VICE and HSNOW? Is this correct? I want to  
add more fields, so I need to know.

The problem is different when I want to do pickups with mnc, which is  
not implemented in seaice at all. Is it possible to define mnc- 
variables for fields such as TICE or UICE? I am sure that's easy, but  
I cannot find an example for that (meaning, I am too lazy to plow  
through the documentation, sorry). I would like to use mnc for  
writing pickups of seaice, but I don't know how.

Martin



More information about the MITgcm-devel mailing list