Back to home page

MITgcm

 
 

    


File indexing completed on 2025-11-22 06:08:48 UTC

view on githubraw file Latest commit feb7fa5d on 2025-11-21 15:45:20 UTC
95afe7199b Dani*0001 #include "STREAMICE_OPTIONS.h"
                0002 
                0003 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0004 
                0005 CBOP
                0006       SUBROUTINE STREAMICE_GET_FP_ERR_OAD ( err_max, myThid )
                0007 C     /============================================================\
                0008 C     | SUBROUTINE                                                 |
                0009 C     | o                                                          |
                0010 C     |============================================================|
                0011 C     |                                                            |
                0012 C     \============================================================/
                0013       IMPLICIT NONE
                0014 
                0015 C     === Global variables ===
                0016 #include "SIZE.h"
                0017 #include "EEPARAMS.h"
                0018 #include "PARAMS.h"
                0019 #include "STREAMICE.h"
                0020 #include "STREAMICE_CG.h"
                0021 
                0022 C     !INPUT/OUTPUT ARGUMENTS
                0023       _RL err_max
                0024       INTEGER myThid
                0025 
                0026 #ifdef ALLOW_STREAMICE
feb7fa5d1e dngo*0027 #ifdef ALLOW_STREAMICE_FP_ADJ
95afe7199b Dani*0028       INTEGER conv_flag, i, j, bi, bj
                0029 
                0030       INTEGER ikey_nl
                0031       _RL err_tempu, err_tempv
                0032       _RL max_vel, tempu, tempv, err_lastchange, cgtol
                0033       CHARACTER*(MAX_LEN_MBUF) msgBuf
bbd6229661 Dani*0034       _RL err_sum, conj_norm
                0035       _RL err_sum_tile (nSx,nSy)
95afe7199b Dani*0036 
                0037        err_max = 0. _d 0
bbd6229661 Dani*0038        err_sum = 0. _d 0
feb7fa5d1e dngo*0039        conj_norm = 0. _d 0
bbd6229661 Dani*0040 
                0041        DO bj = myByLo(myThid), myByHi(myThid)
                0042         DO bi = myBxLo(myThid), myBxHi(myThid)
feb7fa5d1e dngo*0043          err_sum_tile(bi,bj) = 0. _d 0
bbd6229661 Dani*0044         ENDDO
                0045        ENDDO
95afe7199b Dani*0046 
                0047        DO bj = myByLo(myThid), myByHi(myThid)
                0048         DO bi = myBxLo(myThid), myBxHi(myThid)
                0049          DO j=1,sNy
                0050           DO i=1,sNx
                0051            err_tempu = 0. _d 0
                0052            err_tempv = 0. _d 0
                0053            IF (STREAMICE_umask(i,j,bi,bj).eq.1) THEN
                0054             err_tempu =
                0055      &       ABS (U_streamice(i,j,bi,bj)-u_new_SI(i,j,bi,bj))
                0056            ENDIF
                0057            IF (STREAMICE_vmask(i,j,bi,bj).eq.1) THEN
                0058             err_tempv = MAX( err_tempu,
                0059      &       ABS (V_streamice(i,j,bi,bj)-v_new_SI(i,j,bi,bj)))
                0060            ENDIF
                0061            IF (err_tempv .ge. err_max) err_max = err_tempv
                0062           ENDDO
                0063          ENDDO
                0064         ENDDO
                0065        ENDDO
                0066 
                0067        CALL GLOBAL_MAX_R8 (err_max, myThid)
                0068 
                0069 #endif
                0070 #endif
                0071       RETURN
                0072       END