Back to home page

MITgcm

 
 

    


File indexing completed on 2024-03-19 05:10:43 UTC

view on githubraw file Latest commit 20e95113 on 2024-03-18 15:50:06 UTC
47852c9c0c Mart*0001 #include "SEAICE_OPTIONS.h"
                0002 #ifdef ALLOW_THSICE
                0003 # include "THSICE_OPTIONS.h"
                0004 #endif /* ALLOW_THSICE */
772b2ed80e Gael*0005 #ifdef ALLOW_AUTODIFF
                0006 # include "AUTODIFF_OPTIONS.h"
                0007 #endif
47852c9c0c Mart*0008 
                0009 CStartOfInterface
                0010       SUBROUTINE SEAICE_MAP_THSICE( myTime, myIter, myThid )
03c669d1ab Jean*0011 C     *==========================================================*
47852c9c0c Mart*0012 C     | SUBROUTINE SEAICE_MAP_THSICE                             |
                0013 C     | o Map thermodynamic thsice variable iceMask and          |
                0014 C     |   to seaice variables HEFF and AREA                      |
03c669d1ab Jean*0015 C     *==========================================================*
47852c9c0c Mart*0016 C     | written by Martin Losch, June 2006                       |
03c669d1ab Jean*0017 C     *==========================================================*
47852c9c0c Mart*0018       IMPLICIT NONE
                0019 
                0020 C     === Global variables ===
                0021 #include "SIZE.h"
                0022 #include "EEPARAMS.h"
03c669d1ab Jean*0023 #include "SEAICE_SIZE.h"
20e951135e Mart*0024 #include "SEAICE_PARAMS.h"
47852c9c0c Mart*0025 #include "SEAICE.h"
                0026 #ifdef ALLOW_THSICE
                0027 # include "THSICE_VARS.h"
                0028 #endif /* ALLOW_THSICE */
ec745395c8 Patr*0029 #ifdef ALLOW_AUTODIFF_TAMC
                0030 # include "tamc.h"
                0031 #endif
47852c9c0c Mart*0032 
                0033 C     === Routine arguments ===
                0034 C     myTime - Simulation time
                0035 C     myIter - Simulation timestep number
                0036 C     myThid - Thread no. that called this routine.
                0037       _RL     myTime
                0038       INTEGER myIter
                0039       INTEGER myThid
                0040 CEndOfInterface
                0041 
                0042 #ifdef ALLOW_THSICE
                0043 C     === Local variables ===
                0044 C     i,j,bi,bj - Loop counters
                0045 
                0046       INTEGER i, j, bi, bj
                0047 
ec745395c8 Patr*0048 # ifdef ALLOW_AUTODIFF_TAMC
                0049 CADJ STORE icemask   = comlev1, key=ikey_dynamics, kind=isbyte
                0050 CADJ STORE iceheight = comlev1, key=ikey_dynamics, kind=isbyte
                0051 #endif
                0052 
47852c9c0c Mart*0053       DO bj=myByLo(myThid),myByHi(myThid)
                0054        DO bi=myBxLo(myThid),myBxHi(myThid)
03c669d1ab Jean*0055         DO j=1-OLy,sNy+OLy
                0056          DO i=1-OLx,sNx+OLx
772590b63c Mart*0057           AREA(i,j,bi,bj) = iceMask(i,j,bi,bj)
                0058           HEFF(i,j,bi,bj) = iceMask(i,j,bi,bj)*iceHeight(i,j,bi,bj)
47852c9c0c Mart*0059          ENDDO
                0060         ENDDO
03c669d1ab Jean*0061        ENDDO
47852c9c0c Mart*0062       ENDDO
20e951135e Mart*0063       IF ( SEAICEaddSnowMass ) THEN
                0064 # ifdef ALLOW_AUTODIFF_TAMC
                0065 CADJ STORE snowheight = comlev1, key=ikey_dynamics, kind=isbyte
                0066 #endif
                0067        DO bj=myByLo(myThid),myByHi(myThid)
                0068         DO bi=myBxLo(myThid),myBxHi(myThid)
                0069          DO j=1-OLy,sNy+OLy
                0070           DO i=1-OLx,sNx+OLx
                0071            HSNOW(i,j,bi,bj) = iceMask(i,j,bi,bj)*snowHeight(i,j,bi,bj)
                0072           ENDDO
                0073          ENDDO
                0074         ENDDO
                0075        ENDDO
                0076       ENDIF
47852c9c0c Mart*0077 
                0078 #endif /* ALLOW_THSICE */
                0079       RETURN
                0080       END