CBOI C C !TITLE: ADJOINT CODE C !AUTHORS: mitgcm developers ( support@mitgcm.org ) C !AFFILIATION: Massachussetts Institute of Technology C !DATE: C !INTRODUCTION: adjoint code collection c \bv c Top level routine for adjoint code generation is the_main_loop. c Adjoint code is generated via the makefile in adjoint/ c 0. make restore: c Re-instate header or adjoint_model.F from template c 1. make: c All .f files are concatenated into one file c tamc_code_ecco.f c 2. make adtaf: c This makefiles contains a list of all routines which must be c differentiated (i.e. analyzed by TAMC/TAF) and those which c must not be differentiated. For the latter, files containing c flow directives are given. c The code generated by TAMC/TAF is written to c tamc_code_ecco_ad.f c 3. make adchange: c To maintain the multi-threading index mythid, c the adjoint code must be post-processed. c All parameter lists of active I/O routines c (active read/write open/close) are augmented by mythid. c The resulting code is copied to c tamc_code_ecco_sed_ad.f c and concatenated to adjoint_model.F c c Documentation: c ============== c For a documentation of TAMC see: c http://puddle.mit.edu/~ralf/tamc/tamc.html c For more info on TAF see: c http://www.fastopt.de C \ev CBOI #include "CPP_OPTIONS.h" CBOP C !ROUTINE: adjoint_model C !INTERFACE: subroutine adjoint_model(mythid ) C !DESCRIPTION: \bv c ================================================================== c SUBROUTINE adjoint_model c ================================================================== c o This is just a place holder for the TAMC generated adjoint code c of the MITgcmuv and related routines. Below you find a short c description of some topics pertaining to the adjoint model. c This routine will be overwritten as soon as TAMC will have c generated the adjoint model. If you want to keep it copy it c to another place. c started: Christian Eckert eckert@mit.edu 21-Jul-1999 c ================================================================== c SUBROUTINE adjoint_model c ================================================================== C \ev C !USES: implicit none c == routine arguments == integer mythid c == end of interface == CEOP return end