Back to home page

darwin3

 
 

    


File indexing completed on 2025-11-15 13:24:11 UTC

view on githubraw file Latest commit b7411f1a on 2025-11-06 19:05:26 UTC
5dddee4ea2 Jean*0001 #include "PACKAGES_CONFIG.h"
                0002 #include "CPP_OPTIONS.h"
06d6a67f19 Jean*0003 c#ifdef ALLOW_AUTODIFF
                0004 c# include "AUTODIFF_OPTIONS.h"
                0005 c#endif
                0006 #ifdef ALLOW_COST
                0007 # include "COST_OPTIONS.h"
                0008 #endif
                0009 #ifdef ALLOW_CTRL
                0010 # include "CTRL_OPTIONS.h"
                0011 #endif
5dddee4ea2 Jean*0012 #ifdef ALLOW_OBCS
                0013 # include "OBCS_OPTIONS.h"
                0014 #endif
                0015 #ifdef ALLOW_SEAICE
                0016 # include "SEAICE_OPTIONS.h"
                0017 #endif
                0018 #ifdef ALLOW_GMREDI
                0019 # include "GMREDI_OPTIONS.h"
                0020 #endif
                0021 
                0022 C start with a copy of THE_MAIN_LOOP
                0023 C and remove some the obvious extras
df5a9764ba Jean*0024       SUBROUTINE openad_dumpAdjoint( myTime, myIter, myThid )
5dddee4ea2 Jean*0025       IMPLICIT NONE
                0026 
                0027 C     == Global variables ==
                0028 #include "SIZE.h"
                0029 #include "EEPARAMS.h"
                0030 #include "PARAMS.h"
                0031 
                0032 c**************************************
06d6a67f19 Jean*0033 #ifdef ALLOW_AUTODIFF
5dddee4ea2 Jean*0034 
06d6a67f19 Jean*0035 c These includes are needed for
                0036 c AD-checkpointing.
5dddee4ea2 Jean*0037 c They provide the fields to be stored.
                0038 
                0039 # include "GRID.h"
                0040 # include "DYNVARS.h"
c3be04357d Jean*0041 # include "SURFACE.h"
5dddee4ea2 Jean*0042 # include "FFIELDS.h"
                0043 # include "EOS.h"
34fc5a02fa Jean*0044 # ifdef ALLOW_GENERIC_ADVDIFF
040d52ffad Patr*0045 #  include "GAD.h"
                0046 # endif
5dddee4ea2 Jean*0047 # ifdef ALLOW_CD_CODE
                0048 #  include "CD_CODE_VARS.h"
                0049 # endif
                0050 # ifdef ALLOW_PTRACERS
                0051 #  include "PTRACERS_SIZE.h"
5cbd023dd9 Oliv*0052 #  include "PTRACERS_FIELDS.h"
5dddee4ea2 Jean*0053 # endif
                0054 # ifdef ALLOW_OBCS
8ba5c8baed Jean*0055 #  include "OBCS_PARAMS.h"
                0056 #  include "OBCS_GRID.h"
                0057 #  include "OBCS_FIELDS.h"
                0058 #  include "OBCS_SEAICE.h"
5dddee4ea2 Jean*0059 # endif
                0060 # ifdef ALLOW_EXF
                0061 #  include "EXF_FIELDS.h"
                0062 #  include "EXF_PARAM.h"
                0063 #  ifdef ALLOW_BULKFORMULAE
                0064 #   include "EXF_CONSTANTS.h"
                0065 #  endif
                0066 # endif /* ALLOW_EXF */
                0067 # ifdef ALLOW_SEAICE
                0068 #  include "SEAICE.h"
                0069 # endif
                0070 # ifdef ALLOW_EBM
                0071 #  include "EBM.h"
                0072 # endif
                0073 # ifdef ALLOW_KPP
                0074 #  include "KPP.h"
                0075 #  include "KPP_PARAMS.h"
                0076 # endif
                0077 
5cf4364659 Mart*0078 # include "CTRL_SIZE.h"
4d72283393 Mart*0079 # include "CTRL.h"
edcd27be69 Mart*0080 # include "CTRL_DUMMY.h"
5dddee4ea2 Jean*0081 # include "cost.h"
                0082 
06d6a67f19 Jean*0083 #endif /* ALLOW_AUTODIFF */
5dddee4ea2 Jean*0084 
                0085       _RL     myTime
df5a9764ba Jean*0086       INTEGER myIter
                0087       INTEGER myThid
5dddee4ea2 Jean*0088 
df5a9764ba Jean*0089       _RL     foo4(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0090       _RL     foo5(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
5dddee4ea2 Jean*0091       CHARACTER*(10) suff
8ba5c8baed Jean*0092 
df5a9764ba Jean*0093       IF ( MOD(myIter,360).EQ.0 ) THEN
                0094          IF ( rwSuffixType.EQ.0 ) THEN
                0095            WRITE(suff,'(I10.10)') myIter
                0096          ELSE
                0097            CALL RW_GET_SUFFIX( suff, myTime, myIter, myThid )
                0098          ENDIF
38cef93f67 Jean*0099 # ifndef ALLOW_STREAMICE
5dddee4ea2 Jean*0100          foo5=theta%d
06d6a67f19 Jean*0101          call write_fld_xyz_rl('adjtheta.',suff,foo5,myIter,1)
5dddee4ea2 Jean*0102          foo5=salt%d
06d6a67f19 Jean*0103          call write_fld_xyz_rl('adjsalt.',suff,foo5,myIter,1)
5dddee4ea2 Jean*0104          foo5=uvel%d
06d6a67f19 Jean*0105          call write_fld_xyz_rl('adjuvel.',suff,foo5,myIter,1)
5dddee4ea2 Jean*0106          foo5=vvel%d
06d6a67f19 Jean*0107          call write_fld_xyz_rl('adjvvel.',suff,foo5,myIter,1)
5dddee4ea2 Jean*0108          foo5=wvel%d
06d6a67f19 Jean*0109          call write_fld_xyz_rl('adjwvel.',suff,foo5,myIter,1)
5dddee4ea2 Jean*0110          foo4=etan%d
06d6a67f19 Jean*0111          call write_fld_xy_rl('adjetan.',suff,foo4,myIter,1)
38cef93f67 Jean*0112 # endif
5dddee4ea2 Jean*0113 # ifdef ALLOW_DIFFKR_CONTROL
                0114          foo5=diffkr%d
06d6a67f19 Jean*0115          call write_fld_xy_rl('adjdiffkr.',suff,foo5,myIter,1)
5dddee4ea2 Jean*0116 # endif
df5a9764ba Jean*0117       ENDIF
5dddee4ea2 Jean*0118 
df5a9764ba Jean*0119       RETURN
                0120       END