C $Header: /home/ubuntu/mnt/e9_copy/MITgcm_contrib/shelfice_remeshing/code/Attic/shelfice_remeshing.F,v 1.3 2015/08/19 10:28:51 dgoldberg Exp $ C $Name: $ #include "SHELFICE_OPTIONS.h" #ifdef ALLOW_CTRL # include "CTRL_OPTIONS.h" #endif CBOP C !ROUTINE: SHELFICE_REMESHING C !INTERFACE: SUBROUTINE SHELFICE_REMESHING( I myTime, myIter, myThid ) C !DESCRIPTION: \bv C *==========================================================* C | SUBROUTINE SHELFICE_UPDATE_MASKS C | o modify topography factor hFacC according to ice shelf C | topography C *==========================================================* C \ev C !USES: IMPLICIT NONE C === Global variables === #include "SIZE.h" #include "EEPARAMS.h" #include "PARAMS.h" #include "DYNVARS.h" #include "SURFACE.h" #include "GRID.h" #ifdef ALLOW_SHELFICE # include "SHELFICE.h" #endif /* ALLOW_SHELFICE */ C !INPUT/OUTPUT PARAMETERS: C == Routine arguments == C rF :: R-coordinate of face of cell (units of r). C recip_drF :: Recipricol of cell face separation along Z axis ( units of r ). C hFacC :: Fraction of cell in vertical which is open (see GRID.h) C myThid :: Number of this instance of SHELFICE_UPDATE_MASKS _RS tmpfld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) INTEGER myThid INTEGER myIter _RL myTime LOGICAL DIFFERENT_MULTIPLE EXTERNAL DIFFERENT_MULTIPLE #ifdef ALLOW_SHELFICE C !LOCAL VARIABLES: C == Local variables == C bi,bj :: tile indices C I,J,K :: Loop counters INTEGER bi, bj INTEGER I, J, K _RL hFacCtmp _RL hFacMnSz CEOP #ifdef ALLOW_SHELFICE #endif /* ALLOW_SHELFICE */ IF ((myTime/ShelficeRemeshFrequency) .EQ. & INT (myTime/ShelficeRemeshFrequency) .AND. myTime & .NE. 0.0 ) THEN CALL WRITE_FLD_XY_RS( 'etaHb',' ',etaH,0,myThid) CALL WRITE_FLD_XY_RS( 'etaNb',' ',etaN,0,myThid) CALL WRITE_FLD_XYZ_RS( 'hFacCb',' ',hFacC,0,myThid) CALL WRITE_FLD_XYZ_RS( 'hFacWb',' ',hFacW,0,myThid) CALL WRITE_FLD_XYZ_RS( 'hFacSb',' ',hFacS,0,myThid) print* ,' JJetaN1', etaN(1,69,1,1) print* ,' JJetaH1', etaH(1,69,1,1) print* ,' JJhfac1', hfacC(1,69,50,1,1) CALL INI_MASKS_ETC_JJ (myThid) print* ,' JJetaN2', etaN(1,69,1,1) print* ,' JJetaH2', etaH(1,69,1,1) print* ,' JJhfac2', hfacC(1,69,50,1,1) CALL INI_LINEAR_PHISURF(myThid) print* ,' JJetaN3', etaN(1,69,1,1) print* ,' JJetaH3', etaH(1,69,1,1) print* ,' JJhfac3', hfacC(1,69,50,1,1) CALL INI_CG2D (myThid) print* ,' JJetaN4', etaN(1,69,1,1) print* ,' JJetaH4', etaH(1,69,1,1) print* ,' JJhfac4', hfacC(1,69,50,1,1) CALL UPDATE_SURF_DR(.FALSE., myTime, myIter, myThid) print* ,' JJetaN5', etaN(1,69,1,1) print* ,' JJetaH5', etaH(1,69,1,1) print* ,' JJhfac5', hfacC(1,69,50,1,1) CALL UPDATE_CG2D(myTime,myIter, myThid) print* ,' JJetaN6', etaN(1,69,1,1) print* ,' JJetaH6', etaH(1,69,1,1) print* ,' JJhfac6', hfacC(1,69,50,1,1) CALL SOLVE_FOR_PRESSURE(myTime,myIter,myThid) print* ,' JJetaN7', etaN(1,69,1,1) print* ,' JJetaH7', etaH(1,69,1,1) print* ,' JJhfac7', hfacC(1,69,50,1,1) CALL CALC_SURF_DR( etaH, myTime, myIter, myThid ) print* ,' JJetaN8', etaN(1,69,1,1) print* ,' JJetaH8', etaH(1,69,1,1) print* ,' JJhfac8', hfacC(1,69,50,1,1) CALL WRITE_FLD_XY_RS( 'etaHa',' ',etaH,0,myThid) CALL WRITE_FLD_XY_RS( 'etaNa',' ',etaN,0,myThid) CALL WRITE_FLD_XYZ_RS( 'hFacCa',' ',hFacC,0,myThid) CALL WRITE_FLD_XYZ_RS( 'hFacWa',' ',hFacW,0,myThid) CALL WRITE_FLD_XYZ_RS( 'hFacSa',' ',hFacS,0,myThid) ENDIF #endif /* ALLOW_SHELFICE */ RETURN END