| 1 | C $Header:  $ | 
| 2 | C $Name:  $ | 
| 3 |  | 
| 4 | #include "LAYERS_OPTIONS.h" | 
| 5 |  | 
| 6 | C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| | 
| 7 |  | 
| 8 | SUBROUTINE LAYERS_INIT_VARIA( myThid ) | 
| 9 |  | 
| 10 | C =================================================================== | 
| 11 | C     Initialize LAYERS variables. | 
| 12 | C =================================================================== | 
| 13 |  | 
| 14 | IMPLICIT NONE | 
| 15 | #include "EEPARAMS.h" | 
| 16 | #include "SIZE.h" | 
| 17 | #include "PARAMS.h" | 
| 18 | #include "LAYERS_SIZE.h" | 
| 19 | #include "LAYERS.h" | 
| 20 |  | 
| 21 | C  INPUT/OUTPUT PARAMETERS: | 
| 22 | C     myThid ::  my Thread Id number | 
| 23 | INTEGER myThid | 
| 24 |  | 
| 25 | #ifdef ALLOW_LAYERS | 
| 26 |  | 
| 27 | C     === Local variables === | 
| 28 | INTEGER i,j,kg,bi,bj | 
| 29 |  | 
| 30 | DO bj = myByLo(myThid), myByHi(myThid) | 
| 31 | DO bi = myBxLo(myThid), myBxHi(myThid) | 
| 32 |  | 
| 33 | C     Loop through 3D variables: | 
| 34 | DO kg=1,Nlayers | 
| 35 | DO j=1-Oly,sNy+OLy | 
| 36 | DO i=1-Olx,sNx+Olx | 
| 37 |  | 
| 38 | #ifdef LAYERS_UFLUX | 
| 39 | layers_UFlux(i,j,kg,bi,bj) = 0. _d 0 | 
| 40 | #ifdef LAYERS_THICKNESS | 
| 41 | layers_HU(i,j,kg,bi,bj) = 0. _d 0 | 
| 42 | #endif /* LAYERS_THICKNESS */ | 
| 43 | #endif /* LAYERS_UFLUX */ | 
| 44 |  | 
| 45 | #ifdef LAYERS_VFLUX | 
| 46 | layers_VFlux(i,j,kg,bi,bj) = 0. _d 0 | 
| 47 | #ifdef LAYERS_THICKNESS | 
| 48 | layers_HV(i,j,kg,bi,bj) = 0. _d 0 | 
| 49 | #endif /* LAYERS_THICKNESS */ | 
| 50 | #endif /* LAYERS_VFLUX */ | 
| 51 |  | 
| 52 | ENDDO | 
| 53 | ENDDO | 
| 54 | ENDDO | 
| 55 |  | 
| 56 | #ifdef ALLOW_TIMEAVE | 
| 57 | C     Initialize averages to zero | 
| 58 |  | 
| 59 | #ifdef LAYERS_UFLUX | 
| 60 | CALL TIMEAVE_RESET(layers_UFlux_T,Nlayers,bi,bj,myThid) | 
| 61 | #ifdef LAYERS_THICKNESS | 
| 62 | CALL TIMEAVE_RESET(layers_HU_T,Nlayers,bi,bj,myThid) | 
| 63 | #endif /* LAYERS_THICKNESS */ | 
| 64 | #endif /* LAYERS_UFLUX */ | 
| 65 |  | 
| 66 | #ifdef LAYERS_VFLUX | 
| 67 | CALL TIMEAVE_RESET(layers_VFlux_T,Nlayers,bi,bj,myThid) | 
| 68 | #ifdef LAYERS_THICKNESS | 
| 69 | CALL TIMEAVE_RESET(layers_HV_T,Nlayers,bi,bj,myThid) | 
| 70 | #endif /* LAYERS_THICKNESS */ | 
| 71 | #endif /* LAYERS_VFLUX */ | 
| 72 |  | 
| 73 | DO kg=1,Nlayers | 
| 74 | layers_TimeAve(kg,bi,bj)=0. _d 0 | 
| 75 | ENDDO | 
| 76 | #endif /* ALLOW_TIMEAVE */ | 
| 77 |  | 
| 78 | C- end bi,bj loops | 
| 79 | ENDDO | 
| 80 | ENDDO | 
| 81 |  | 
| 82 | #endif /* ALLOW_LAYERS */ | 
| 83 |  | 
| 84 | RETURN | 
| 85 | END |