File indexing completed on 2018-03-02 18:44:32 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
f141670dc2 Jean*0001 #include "THSICE_OPTIONS.h"
0002 #ifdef ALLOW_SALT_PLUME
0003 # include "SALT_PLUME_OPTIONS.h"
0004 #endif
0005
0006
0007
0008
0009 SUBROUTINE THSICE_SALT_PLUME(
281cce82f4 Jean*0010 I sOce,
0011 I frzSeaWat,
f141670dc2 Jean*0012 I iMin,iMax, jMin,jMax, bi, bj,
281cce82f4 Jean*0013 I myTime, myIter, myThid )
f141670dc2 Jean*0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 IMPLICIT NONE
0024
0025
0026 #include "EEPARAMS.h"
0027 #include "SIZE.h"
0028 #include "PARAMS.h"
0029 #include "THSICE_PARAMS.h"
0030 #ifdef ALLOW_SALT_PLUME
0031 # include "SALT_PLUME.h"
0032 #endif
ae89a28819 Jean*0033 #ifdef ALLOW_ATM_COMPON_INTERF
0034 # include "CPL_PARAMS.h"
0035 # include "ATMCPL.h"
0036 #endif
f141670dc2 Jean*0037
0038
281cce82f4 Jean*0039
0040
0041
0042
0043
0044
0045
0046
0047 _RL sOce (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
0048 _RL frzSeaWat(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
f141670dc2 Jean*0049 INTEGER iMin, iMax
0050 INTEGER jMin, jMax
0051 INTEGER bi,bj
0052 _RL myTime
0053 INTEGER myIter
0054 INTEGER myThid
0055
0056
ae89a28819 Jean*0057 #if defined(ALLOW_SALT_PLUME) || defined(ALLOW_ATM_COMPON_INTERF)
f141670dc2 Jean*0058
ae89a28819 Jean*0059 LOGICAL fillCplVar
f141670dc2 Jean*0060 INTEGER i,j
ae89a28819 Jean*0061 _RL locVar(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
0062 #ifdef ALLOW_ATM_COMPON_INTERF
0063 _RL cplTimeFraction
0064 #endif
0065
0066 fillCplVar = .FALSE.
0067 #ifdef ALLOW_ATM_COMPON_INTERF
0068 IF ( useCoupler ) fillCplVar = atm_cplExch_SaltPl
0069 #endif
f141670dc2 Jean*0070
ae89a28819 Jean*0071 IF ( useSALT_PLUME .OR. fillCplVar ) THEN
f141670dc2 Jean*0072
ae89a28819 Jean*0073 DO j=1-OLy,sNy+OLy
0074 DO i=1-OLx,sNx+OLx
0075 locVar(i,j) = 0. _d 0
0076 ENDDO
f141670dc2 Jean*0077 ENDDO
281cce82f4 Jean*0078
ae89a28819 Jean*0079 DO j = jMin, jMax
0080 DO i = iMin, iMax
0081 locVar(i,j) = frzSeaWat(i,j)*( sOce(i,j) - saltIce )
0082 ENDDO
f141670dc2 Jean*0083 ENDDO
ae89a28819 Jean*0084 ENDIF
f141670dc2 Jean*0085
ae89a28819 Jean*0086 #ifdef ALLOW_SALT_PLUME
0087 IF ( useSALT_PLUME ) THEN
0088
0089
0090 DO j=1-OLy,sNy+OLy
0091 DO i=1-OLx,sNx+OLx
0092 saltPlumeFlux(i,j,bi,bj) = locVar(i,j)*SPsalFRAC
0093 ENDDO
0094 ENDDO
0095 ENDIF
f141670dc2 Jean*0096 #endif /* ALLOW_SALT_PLUME */
0097
ae89a28819 Jean*0098 #ifdef ALLOW_ATM_COMPON_INTERF
0099 IF ( fillCplVar ) THEN
0100
0101
0102
0103 cplTimeFraction = 1. _d 0 / DFLOAT(cplSendFrq_iter)
0104 saltPlmFlxTime(bi,bj) = saltPlmFlxTime(bi,bj) + cplTimeFraction
0105 DO j=1,sNy
0106 DO i=1,sNx
0107 saltPlmFlx_cpl(i,j,bi,bj) = saltPlmFlx_cpl(i,j,bi,bj)
0108 & + locVar(i,j)*cplTimeFraction
0109 ENDDO
0110 ENDDO
0111 ENDIF
0112 #endif
0113
0114 #endif /* ALLOW_SALT_PLUME or ALLOW_ATM_COMPON_INTERF */
0115
f141670dc2 Jean*0116 RETURN
0117 END