Back to home page

MITgcm

 
 

    


File indexing completed on 2025-12-15 06:14:28 UTC

view on githubraw file Latest commit ad59256d on 2025-12-15 00:05:36 UTC
ad59256d7d aver*0001 #include "OBSFIT_OPTIONS.h"
                0002 
                0003 CBOP
                0004 C !ROUTINE: OBSFIT_INIT_VARIA
                0005 
                0006 C !INTERFACE:
                0007       SUBROUTINE OBSFIT_INIT_VARIA( myThid )
                0008 
                0009 C     !DESCRIPTION:
                0010 C     ==================================================================
                0011 C     | Initialize ObsFit variables (for cost function)
                0012 C     ==================================================================
                0013 
                0014 C     !USES:
                0015       IMPLICIT NONE
                0016 C     == Global variables ===
                0017 #include "EEPARAMS.h"
                0018 #include "SIZE.h"
                0019 #include "GRID.h"
                0020 
                0021 #ifdef ALLOW_OBSFIT
                0022 # include "OBSFIT_SIZE.h"
                0023 # include "OBSFIT.h"
                0024 #endif
                0025 
                0026 #ifdef ALLOW_GRDCHK
                0027 # include "netcdf.inc"
                0028 #endif
                0029 
                0030 C     !INPUT PARAMETERS:
                0031 C     myThid :: my thread ID number
                0032       INTEGER myThid
                0033 CEOP
                0034 
                0035 C     !LOCAL VARIABLES:
                0036       INTEGER bi,bj
                0037       INTEGER num_file
                0038 #ifdef ALLOW_GRDCHK
                0039       INTEGER err
                0040 #endif /* ALLOW_GRDCHK */
                0041 
                0042 C Initialize tiled cost function variables
                0043       DO bj = myByLo(myThid), myByHi(myThid)
                0044         DO bi = myBxLo(myThid), myBxHi(myThid)
                0045           DO num_file = 1, NFILESMAX_OBS
                0046             obsfit_dummy(num_file,bi,bj) = 0. _d 0
                0047           ENDDO
                0048         ENDDO
                0049       ENDDO
                0050 
                0051 C Initialize global cost function variables
                0052       _BEGIN_MASTER(myThid)
                0053 
                0054       DO num_file = 1, NFILESMAX_OBS
                0055         objf_obsfit(num_file) = 0. _d 0
                0056         num_obsfit(num_file) = 0. _d 0
                0057         obsfit_globaldummy(num_file) = 0. _d 0
                0058       ENDDO
                0059 
                0060       _END_MASTER(myThid)
                0061 
                0062 #ifdef ALLOW_GRDCHK
                0063       IF ( obsfitDoNcOutput ) THEN
                0064         DO bj = myByLo(myThid), myByHi(myThid)
                0065           DO bi = myBxLo(myThid), myBxHi(myThid)
                0066             DO num_file = 1, NFILESMAX_OBS
                0067               IF ( sampleNo(num_file,bi,bj).GT.0 ) THEN
                0068 C Write data from buffer to .nc file
                0069                 err = NF_SYNC( fidfwd_obs(num_file,bi,bj) )
                0070                 CALL OBSFIT_NF_ERROR(
                0071      &               'INIT_VARIA: NF_SYNC fidfwd_obs',
                0072      &               err,bi,bj,myThid )
                0073 
                0074 # ifdef ALLOW_TANGENTLINEAR_RUN
                0075                 IF ( TANGENT_SIMULATION ) THEN
                0076                   err = NF_SYNC( fidtan_obs(num_file,bi,bj) )
                0077                   CALL OBSFIT_NF_ERROR(
                0078      &                 'INIT_VARIA: NF_SYNC fidtan_obs',
                0079      &                 err,bi,bj,myThid )
                0080                 ENDIF
                0081 # endif /* ALLOW_TANGENTLINEAR_RUN */
                0082 
                0083               ENDIF !IF (sampleNo)
                0084             ENDDO !DO num_file
                0085           ENDDO !DO bi
                0086         ENDDO! DO bj
                0087       ENDIF !IF (obsfitDoNcOutput)
                0088 #endif /* ALLOW_GRDCHK */
                0089 
                0090       _BARRIER
                0091 
                0092       RETURN
                0093       END
                0094 
                0095 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|