File indexing completed on 2021-11-06 05:17:39 UTC
view on githubraw file Latest commit ebcc29af on 2021-10-24 15:53:13 UTC
5cce2b5d76 Gael*0001 #include "ECCO_OPTIONS.h"
0002
0003
0004
0005
0006
0007 subroutine cost_genread(
0008 I active_var_file,
0009 O active_var,
ee3c6cce5d Gael*0010 O active_tmp,
5cce2b5d76 Gael*0011 I iRec,
11c3150c71 Mart*0012 I nz,
5cce2b5d76 Gael*0013 I nnzbar,
40db27aeaa Gael*0014 I nrecloc,
5cce2b5d76 Gael*0015 I preproc,
40db27aeaa Gael*0016 I preproc_c,
0017 I preproc_i,
0018 I preproc_r,
679b3bfece Gael*0019 I dummy,
ebcc29af97 Jean*0020 I myThid )
5cce2b5d76 Gael*0021
0022
0023
0024
0025
0026
0027 IMPLICIT NONE
0028
11c3150c71 Mart*0029
5cce2b5d76 Gael*0030 #include "EEPARAMS.h"
0031 #include "SIZE.h"
0032 #ifdef ALLOW_ECCO
13d362b8c1 Ou W*0033 # include "ECCO_SIZE.h"
0034 # include "ECCO.h"
5cce2b5d76 Gael*0035 #endif
0036
11c3150c71 Mart*0037
0038
5cce2b5d76 Gael*0039
0040 CHARACTER*(*) active_var_file
11c3150c71 Mart*0041 _RL active_var(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nz,nSx,nSy)
0042 _RL active_tmp(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nz,nSx,nSy)
5cce2b5d76 Gael*0043 INTEGER iRec
11c3150c71 Mart*0044 INTEGER nz, nnzbar, nrecloc
0045 CHARACTER*(MAX_LEN_FNAM) preproc(NGENPPROC)
0046 CHARACTER*(MAX_LEN_FNAM) preproc_c(NGENPPROC)
0047 INTEGER preproc_i(NGENPPROC)
ebcc29af97 Jean*0048 _RL preproc_r(NGENPPROC)
0049 _RL dummy
0050 INTEGER myThid
5cce2b5d76 Gael*0051
ac486aa51f Gael*0052 #ifdef ALLOW_ECCO
11c3150c71 Mart*0053
0054
0055 INTEGER nyearsINT
0056 _RL recip_nyearsRL
0057 INTEGER iyear, imon
0058 INTEGER i,j,k,bi,bj
5cce2b5d76 Gael*0059
0060
11c3150c71 Mart*0061 IF ( preproc(1) .EQ. 'clim') THEN
92d10a5666 Gael*0062
0063
11c3150c71 Mart*0064 nyearsINT=int((nrecloc-irec)/preproc_i(1))+1
ebcc29af97 Jean*0065 recip_nyearsRL = nyearsINT
0066 recip_nyearsRL = 1. _d 0/recip_nyearsRL
11c3150c71 Mart*0067
ebcc29af97 Jean*0068 CALL ECCO_ZERO( active_var, nz, zeroRL, myThid )
11c3150c71 Mart*0069 CALL ECCO_ZERO( active_tmp, nz, zeroRL, myThid )
0070 DO iyear=1,nyearsINT
0071 imon=irec+(iyear-1)*preproc_i(1)
0072 CALL ECCO_READBAR( active_var_file, active_var,
ebcc29af97 Jean*0073 & imon, nz, nnzbar, dummy, myThid )
11c3150c71 Mart*0074 DO bj = myByLo(myThid),myByHi(myThid)
0075 DO bi = myBxLo(myThid),myBxHi(myThid)
0076 DO k = 1,nnzbar
0077 DO j = 1-OLy,sNy+OLy
0078 DO i = 1-OLx,sNx+OLx
0079 active_tmp(i,j,k,bi,bj) = active_tmp(i,j,k,bi,bj)
0080 & + active_var(i,j,k,bi,bj)
0081 ENDDO
0082 ENDDO
0083 ENDDO
0084 ENDDO
0085 ENDDO
0086 ENDDO
0087
0088 DO bj = myByLo(myThid),myByHi(myThid)
0089 DO bi = myBxLo(myThid),myBxHi(myThid)
0090 DO k = 1,nnzbar
0091 DO j = 1-OLy,sNy+OLy
0092 DO i = 1-OLx,sNx+OLx
0093 active_var(i,j,k,bi,bj) = active_tmp(i,j,k,bi,bj)
0094 & * recip_nyearsRL
0095 ENDDO
0096 ENDDO
0097 ENDDO
0098 ENDDO
0099 ENDDO
0100 ELSE
0101 CALL ECCO_READBAR( active_var_file, active_var,
ebcc29af97 Jean*0102 & irec, nz, nnzbar, dummy, myThid )
11c3150c71 Mart*0103 ENDIF
92d10a5666 Gael*0104
ac486aa51f Gael*0105 #endif /* ALLOW_ECCO */
0106
5cce2b5d76 Gael*0107 RETURN
0108 END