File indexing completed on 2023-09-21 05:10:52 UTC
view on githubraw file Latest commit 96b00645 on 2023-09-20 15:15:14 UTC
95afe7199b Dani*0001 #include "STREAMICE_OPTIONS.h"
0002 #ifdef ALLOW_AUTODIFF
0003 # include "AUTODIFF_OPTIONS.h"
0004 #endif
0005
0006
0007
0008
4e4ad91a39 Jean*0009 SUBROUTINE STREAMICE_VEL_PHI (
0010 I myThid,
0011 I maxNLIter,
0012 I maxCGiter,
0013 I cgtol,
351fd6b6a4 Dani*0014 O cg_iters,
0015 O max_err)
95afe7199b Dani*0016
0017
0018
0019
0020
0021
0022 IMPLICIT NONE
0023
0024
0025 #include "SIZE.h"
0026 #include "EEPARAMS.h"
0027 #include "PARAMS.h"
0028 #include "STREAMICE.h"
0029 #include "STREAMICE_CG.h"
96b006450c dngo*0030
0031
0032
95afe7199b Dani*0033
0034
0035 INTEGER myThid
0036 INTEGER maxNLIter
0037 INTEGER maxCGIter
0038 _RL cgtol
0039 INTEGER cg_iters
351fd6b6a4 Dani*0040 _RL max_err
95afe7199b Dani*0041
4e4ad91a39 Jean*0042 #ifdef ALLOW_STREAMICE_OAD_FP
95afe7199b Dani*0043
0044
0045
96b006450c dngo*0046 INTEGER i,j,bi,bj
95afe7199b Dani*0047 CHARACTER*(MAX_LEN_MBUF) msgBuf
0048
351fd6b6a4 Dani*0049 _EXCH_XY_RL( U_streamice , myThid )
0050 _EXCH_XY_RL( V_streamice , myThid )
0051
95afe7199b Dani*0052 #ifdef STREAMICE_HYBRID_STRESS
0053 CALL STREAMICE_VISC_BETA_HYBRID ( myThid )
0054 #else
0055 CALL STREAMICE_VISC_BETA ( myThid )
0056 #endif
0057
0058 _EXCH_XY_RL( tau_beta_eff_streamice , myThid )
0059 _EXCH_XY_RL( visc_streamice , myThid )
0060
351fd6b6a4 Dani*0061 CALL STREAMICE_GET_VEL_RESID_ERR_OAD (max_err,myThid)
0062
95afe7199b Dani*0063 DO bj = myByLo(myThid), myByHi(myThid)
0064 DO bi = myBxLo(myThid), myBxHi(myThid)
0065 DO j=1-OLy,sNy+OLy
0066 DO i=1-OLx,sNx+OLx
0067 u_new_SI(i,j,bi,bj) = U_streamice(i,j,bi,bj)
4e4ad91a39 Jean*0068 v_new_SI(i,j,bi,bj) = V_streamice(i,j,bi,bj)
95afe7199b Dani*0069 ENDDO
0070 ENDDO
0071 ENDDO
0072 ENDDO
0073
0074 CALL STREAMICE_CG_WRAPPER(
0075 & U_new_si,
0076 & V_new_si,
0077 & taudx_SI,
0078 & taudy_SI,
0079 & cgtol,
0080 & cg_iters,
0081 & maxCGIter,
0082 & myThid )
0083
0084 #ifdef STREAMICE_HYBRID_STRESS
0085 CALL STREAMICE_TAUB (myThid)
0086 #endif
0087
4e4ad91a39 Jean*0088 #endif /* ALLOW_STREAMICE_OAD_FP */
95afe7199b Dani*0089 RETURN
0090 END