File indexing completed on 2018-03-02 18:37:20 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
d676f916b2 Jean*0001 #include "AIM_OPTIONS.h"
0002
444c1ec05b Jean*0003
0004
0005
d676f916b2 Jean*0006 SUBROUTINE AIM_INITIALISE( myThid )
89bfa1dc29 Jean*0007
444c1ec05b Jean*0008
d676f916b2 Jean*0009
0010
0011
0012
0013
444c1ec05b Jean*0014
d676f916b2 Jean*0015
444c1ec05b Jean*0016
0017
d676f916b2 Jean*0018 IMPLICIT NONE
0019
444c1ec05b Jean*0020
0021 #include "SIZE.h"
d676f916b2 Jean*0022 #include "EEPARAMS.h"
0023 #include "PARAMS.h"
0024 #include "GRID.h"
65007c221b Jean*0025 #include "SURFACE.h"
0026 #include "AIM_PARAMS.h"
0027 #include "AIM_FFIELDS.h"
0028
444c1ec05b Jean*0029
d676f916b2 Jean*0030
444c1ec05b Jean*0031
d676f916b2 Jean*0032
89bfa1dc29 Jean*0033
d676f916b2 Jean*0034 INTEGER myThid
0035
0036 #ifdef ALLOW_AIM
444c1ec05b Jean*0037
d676f916b2 Jean*0038
444c1ec05b Jean*0039
0040
0041
0042
d676f916b2 Jean*0043 _RL HSG(0:Nr)
e71a2c0f64 Jean*0044 _RL pGround, tmpPgrnd, tmpVar
444c1ec05b Jean*0045 INTEGER bi, bj
0046 INTEGER i, j, k
d676f916b2 Jean*0047 INTEGER Katm
444c1ec05b Jean*0048
0049
0050
0051
0052 _BEGIN_MASTER(myThid )
d676f916b2 Jean*0053
65007c221b Jean*0054
0055 pGround = atm_Po
0056 DO k=1,Nr
0057 Katm = _KD2KA( k )
0058 HSG(Katm) = rF(k)/pGround
d676f916b2 Jean*0059 ENDDO
65007c221b Jean*0060 k=Nr+1
0061 Katm = _KD2KA( k )
0062 HSG(Katm) = rF(k)/pGround
d676f916b2 Jean*0063
da270080e0 Mart*0064 _END_MASTER( myThid )
d676f916b2 Jean*0065
0066
444c1ec05b Jean*0067 CALL INPHYS( HSG, myThid )
d676f916b2 Jean*0068
65007c221b Jean*0069
0070 CALL AIM_READPARMS( myThid )
0071
d676f916b2 Jean*0072
0073
444c1ec05b Jean*0074 _BEGIN_MASTER(myThid )
0075 CALL RADSET( myThid )
da270080e0 Mart*0076 _END_MASTER( myThid )
d676f916b2 Jean*0077
65007c221b Jean*0078
0079
46ac67bdf3 Jean*0080 CALL INI_P_GROUND(1, topoZ, truncSurfP, myThid )
65007c221b Jean*0081 DO bj = myByLo(myThid), myByHi(myThid)
0082 DO bi = myBxLo(myThid), myBxHi(myThid)
0083 DO j=1,sNy
0084 DO i=1,sNx
e71a2c0f64 Jean*0085 tmpPgrnd = truncSurfP(i,j,bi,bj)
0086 tmpVar = Ro_surf(i,j,bi,bj)
0087 tmpPgrnd = MIN( tmpPgrnd, atm_Po )
0088 truncSurfP(i,j,bi,bj) = ( tmpVar/tmpPgrnd )**atm_kappa
65007c221b Jean*0089 ENDDO
0090 ENDDO
0091 IF (aim_useMMsurfFc .AND. aim_surfPotTemp) THEN
0092 DO j=1,sNy
0093 DO i=1,sNx
e71a2c0f64 Jean*0094 tmpVar = Ro_surf(i,j,bi,bj)
0095 truncSurfP(i,j,bi,bj) = ( tmpVar/atm_Po )**atm_kappa
65007c221b Jean*0096 ENDDO
0097 ENDDO
0098 ENDIF
0099 ENDDO
0100 ENDDO
444c1ec05b Jean*0101
4b996cbf32 Jean*0102
d676f916b2 Jean*0103 DO bj = myByLo(myThid), myByHi(myThid)
0104 DO bi = myBxLo(myThid), myBxHi(myThid)
4b996cbf32 Jean*0105 DO j=1-Oly,sNy+Oly
444c1ec05b Jean*0106 DO i=1-Olx,sNx+Olx
4b996cbf32 Jean*0107 aim_landFr (i,j,bi,bj) = 0.
0108 ENDDO
3a474aa258 Jean*0109 ENDDO
d676f916b2 Jean*0110 ENDDO
0111 ENDDO
4b996cbf32 Jean*0112
0113 IF ( aim_LandFile .NE. ' ' ) THEN
444c1ec05b Jean*0114 _BARRIER
4b996cbf32 Jean*0115 CALL READ_REC_XY_RS(aim_LandFile,aim_landFr,1,nIter0,myThid)
89bfa1dc29 Jean*0116
0117 CALL EXCH_XY_RS( aim_landFr, myThid )
4b996cbf32 Jean*0118 ENDIF
d676f916b2 Jean*0119
ad0ca66649 Ed H*0120 #ifdef ALLOW_MNC
0121 IF (useMNC) THEN
0122 CALL AIM_MNC_INIT( myThid )
0123 ENDIF
0124 #endif /* ALLOW_MNC */
0125
5cbcb662ee Andr*0126 #ifdef ALLOW_DIAGNOSTICS
444c1ec05b Jean*0127 IF ( useDiagnostics ) THEN
0128 CALL AIM_DIAGNOSTICS_INIT( myThid )
0129 ENDIF
5cbcb662ee Andr*0130 #endif
0131
444c1ec05b Jean*0132
0133 _BARRIER
0134
d676f916b2 Jean*0135 #endif /* ALLOW_AIM */
0136
0137 RETURN
0138 END