File indexing completed on 2023-08-04 05:10:07 UTC
view on githubraw file Latest commit 45315406 on 2023-08-03 16:50:12 UTC
6bd3b6b067 Patr*0001
0002
50f1081522 Jean*0003 #include "AUTODIFF_OPTIONS.h"
bead363026 Jean*0004 #ifdef ALLOW_CTRL
0005 # include "CTRL_OPTIONS.h"
0006 #endif
b7e4130855 Patr*0007 #ifdef ALLOW_EXF
0008 # include "EXF_OPTIONS.h"
0009 #endif
0010 #ifdef ALLOW_SEAICE
0011 # include "SEAICE_OPTIONS.h"
0012 #endif
ab63ca39fb Gael*0013 #include "MDSIO_OPTIONS.h"
6bd3b6b067 Patr*0014
0015
0016
0017
0018 SUBROUTINE AUTODIFF_INI_MODEL_IO( myThid )
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028 IMPLICIT NONE
0029 #include "SIZE.h"
0030 #include "EEPARAMS.h"
0031 #include "PARAMS.h"
358649780a Gael*0032 #ifdef ALLOW_EXF
0033 # include "EXF_PARAM.h"
0034 #endif
47a1ba5f79 Jean*0035 #include "GRID.h"
2f58e54336 Gael*0036 #include "AUTODIFF.h"
be937cd223 Gael*0037 #ifdef ALLOW_WHIO
0038 #include "MDSIO_BUFF_WH.h"
0039 #endif
6bd3b6b067 Patr*0040
0041
47a1ba5f79 Jean*0042
6bd3b6b067 Patr*0043 INTEGER myThid
59e0adf4a5 Gael*0044
0045
0046 INTEGER ILNBLNK
0047 EXTERNAL ILNBLNK
0048
0049
7c50f07931 Mart*0050 #ifndef HAVE_SYSTEM
df6f5d811d Gael*0051 CHARACTER*(MAX_LEN_MBUF) msgBuf
7c50f07931 Mart*0052 #endif
59e0adf4a5 Gael*0053 CHARACTER*(MAX_LEN_FNAM) namBuf
7c50f07931 Mart*0054 INTEGER iL, pIL
0055 #ifdef ALLOW_AUTODIFF_WHTAPEIO
0056 INTEGER myLev
0057 #endif
6bd3b6b067 Patr*0058
0059
816e6857b6 Gael*0060
0061 dumpAdRecMn=0
0062 dumpAdRecDy=0
0063 dumpAdRecSi=0
52dd931a85 Timo*0064 dumpAdRecEt=0
816e6857b6 Gael*0065
df6f5d811d Gael*0066 _BEGIN_MASTER( myThid )
0067
59e0adf4a5 Gael*0068 IF ( adTapeDir .NE. ' ' ) THEN
0069 iL = ILNBLNK( adTapeDir )
df6f5d811d Gael*0070
59e0adf4a5 Gael*0071 IF ( iL.LT.MAX_LEN_FNAM .AND. adTapeDir(iL:iL).NE.'/' ) THEN
0072 namBuf(1:iL) = adTapeDir(1:iL)
0073 WRITE(adTapeDir(1:iL+1),'(2A)') namBuf(1:iL),'/'
0074 ENDIF
70dd91cc56 Gael*0075 #ifdef HAVE_SYSTEM
59e0adf4a5 Gael*0076
0077 iL = ILNBLNK( adTapeDir ) -1
0078 WRITE(namBuf,'(2A)') ' mkdir -p ', adTapeDir(1:iL)
0079 pIL = 1 + ILNBLNK( namBuf )
e1c0ea844d Gael*0080 WRITE(standardMessageUnit,'(3A)')
bead363026 Jean*0081 & '==> SYSTEM CALL (from AUTODIFF_INI_MODEL_IO): >',
0082 & namBuf(1:pIL), '<'
59e0adf4a5 Gael*0083 CALL SYSTEM( namBuf(1:pIL) )
70dd91cc56 Gael*0084 #else
0085 WRITE(msgBuf,'(2A)') '** WARNING ** AUTODIFF_INI_MODEL_IO: ',
0086 & 'cannot call mkdir -> please create adTapeDir manually'
0087 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
0088 & SQUEEZE_RIGHT, myThid )
0089 #endif
59e0adf4a5 Gael*0090 ENDIF
0091
df6f5d811d Gael*0092 _END_MASTER( myThid )
0093
2f58e54336 Gael*0094 #ifdef ALLOW_AUTODIFF_WHTAPEIO
0095
0096 tapeFileUnit=0
0097 do myLev=1,4
0098 tapeFileUnitS(myLev)=0
0099 enddo
0100
0101 tapeFileCounter=0
be937cd223 Gael*0102 tapeMaxCounter=nWh
2f58e54336 Gael*0103
0104 tapeConcatIO=.TRUE.
0105 tapeSingleCpuIO=useSingleCpuIO
0106 tapeBufferIO=.FALSE.
ab63ca39fb Gael*0107
0108 #ifdef EXCLUDE_WHIO_GLOBUFF_2D
0109 tapeSingleCpuIO=.FALSE.
47a1ba5f79 Jean*0110 #endif
ab63ca39fb Gael*0111 #ifdef ALLOW_WHIO_3D
0112 #ifndef INCLUDE_WHIO_GLOBUFF_3D
0113 tapeSingleCpuIO=.FALSE.
0114 #endif
0115 #endif
0116
2f58e54336 Gael*0117 #endif /* ALLOW_AUTODIFF_WHTAPEIO */
6bd3b6b067 Patr*0118
0119 #if (defined (ALLOW_MNC) && defined (ALLOW_AUTODIFF_MONITOR))
0120
0121 IF (useMNC) THEN
0122
0123 CALL MNC_CW_ADD_VNAME('adU', 'U_xy_Hn__C__t', 4,5, myThid)
0124 CALL MNC_CW_ADD_VATTR_TEXT('adU','units','[cost]/[m/s]', myThid)
0125 CALL MNC_CW_ADD_VATTR_TEXT('adU','long_name',
77c6107d5a Patr*0126 & 'adjoint zonal velocity', myThid)
6bd3b6b067 Patr*0127 CALL MNC_CW_ADD_VATTR_TEXT('adU',
0128 & 'coordinates','XU YU RC iter', myThid)
0129
0130 CALL MNC_CW_ADD_VNAME('adV', 'V_xy_Hn__C__t', 4,5, myThid)
0131 CALL MNC_CW_ADD_VATTR_TEXT('adV','units','[cost]/[m/s]', myThid)
0132 CALL MNC_CW_ADD_VATTR_TEXT('adV','long_name',
77c6107d5a Patr*0133 & 'adjoint merid. velocity', myThid)
6bd3b6b067 Patr*0134 CALL MNC_CW_ADD_VATTR_TEXT('adV',
0135 & 'coordinates','XV YV RC iter', myThid)
0136
0137 CALL MNC_CW_ADD_VNAME('adT', 'Cen_xy_Hn__C__t', 4,5, myThid)
0138 CALL MNC_CW_ADD_VATTR_TEXT('adT','units','[cost]/[degC]', myThid)
0139 CALL MNC_CW_ADD_VATTR_TEXT('adT','long_name',
77c6107d5a Patr*0140 & 'adjoint potential_temperature', myThid)
6bd3b6b067 Patr*0141 CALL MNC_CW_ADD_VATTR_TEXT('adT',
0142 & 'coordinates','XC YC RC iter', myThid)
0143
0144 CALL MNC_CW_ADD_VNAME('adS', 'Cen_xy_Hn__C__t', 4,5, myThid)
ba0b047096 Mart*0145 CALL MNC_CW_ADD_VATTR_TEXT('adS','units','[cost]/[g/kg]', myThid)
6bd3b6b067 Patr*0146 CALL MNC_CW_ADD_VATTR_TEXT('adS','long_name',
77c6107d5a Patr*0147 & 'adjoint salinity', myThid)
6bd3b6b067 Patr*0148 CALL MNC_CW_ADD_VATTR_TEXT('adS',
0149 & 'coordinates','XC YC RC iter', myThid)
0150
0151 CALL MNC_CW_ADD_VNAME('adEta', 'Cen_xy_Hn__-__t', 3,4, myThid)
0152 CALL MNC_CW_ADD_VATTR_TEXT('adEta','units','[cost]/[m]', myThid)
0153 CALL MNC_CW_ADD_VATTR_TEXT('adEta','long_name',
77c6107d5a Patr*0154 & 'adjoint free-surface_r-anomaly', myThid)
6bd3b6b067 Patr*0155 CALL MNC_CW_ADD_VATTR_TEXT('adEta',
0156 & 'coordinates','XC YC RC iter', myThid)
0157
0158 CALL MNC_CW_ADD_VNAME('adW', 'Cen_xy_Hn__C__t', 4,5, myThid)
0159 CALL MNC_CW_ADD_VATTR_TEXT('adW','units','[cost]/[m/s]', myThid)
0160 CALL MNC_CW_ADD_VATTR_TEXT('adW','long_name',
77c6107d5a Patr*0161 & 'adjoint vertical velocity', myThid)
6bd3b6b067 Patr*0162 CALL MNC_CW_ADD_VATTR_TEXT('adW',
0163 & 'coordinates','XC YC RC iter', myThid)
0164
77c6107d5a Patr*0165 CALL MNC_CW_ADD_VNAME('adQnet', 'Cen_xy_Hn__-__t', 3,4, myThid)
0166 CALL MNC_CW_ADD_VATTR_TEXT('adQnet',
0167 & 'units','[cost]/[W/m^2]', myThid)
0168 CALL MNC_CW_ADD_VATTR_TEXT('adQnet','long_name',
0169 & 'adjoint net upward heat flux', myThid)
0170 CALL MNC_CW_ADD_VATTR_TEXT('adQnet',
0171 & 'coordinates','XC YC RC iter', myThid)
0172
0173 CALL MNC_CW_ADD_VNAME('adEmpmr', 'Cen_xy_Hn__-__t', 3,4, myThid)
0174 CALL MNC_CW_ADD_VATTR_TEXT('adEmpmr',
0175 & 'units','[cost]/[m/s]', myThid)
0176 CALL MNC_CW_ADD_VATTR_TEXT('adEmpmr','long_name',
0177 & 'adjoint net upward freshwater flux', myThid)
0178 CALL MNC_CW_ADD_VATTR_TEXT('adEmpmr',
0179 & 'coordinates','XC YC RC iter', myThid)
0180
0181 CALL MNC_CW_ADD_VNAME( 'adFu', 'Cen_xy_Hn__-__t', 3,4, myThid)
0182 CALL MNC_CW_ADD_VATTR_TEXT('adFu',
0183 & 'units','[cost]/[N/m^2]', myThid)
0184 CALL MNC_CW_ADD_VATTR_TEXT('adFu','long_name',
0185 & 'adjoint zonal wind stress', myThid)
0186 CALL MNC_CW_ADD_VATTR_TEXT('adFu',
0187 & 'coordinates','XC YC RC iter', myThid)
0188
0189 CALL MNC_CW_ADD_VNAME( 'adFv', 'Cen_xy_Hn__-__t', 3,4, myThid)
0190 CALL MNC_CW_ADD_VATTR_TEXT('adFv',
0191 & 'units','[cost]/[N/m^2]', myThid)
0192 CALL MNC_CW_ADD_VATTR_TEXT('adFv','long_name',
0193 & 'adjoint zonal meridional stress', myThid)
0194 CALL MNC_CW_ADD_VATTR_TEXT('adFv',
0195 & 'coordinates','XC YC RC iter', myThid)
0196
98e4a16c0b Mart*0197 #ifdef ALLOW_BOTTOMDRAG_CONTROL
0198 CALL MNC_CW_ADD_VNAME('adBottomDrag', 'Cen_xy_Hn__-__t',
47a1ba5f79 Jean*0199 & 3,4, myThid)
98e4a16c0b Mart*0200 CALL MNC_CW_ADD_VATTR_TEXT('adBottomDrag',
0201 & 'units','[cost]/[N/m^2]', myThid)
0202 CALL MNC_CW_ADD_VATTR_TEXT('adBottomDrag','long_name',
0203 & 'adjoint bottom drag', myThid)
0204 CALL MNC_CW_ADD_VATTR_TEXT('adBottomDrag',
0205 & 'coordinates','XC YC RC iter', myThid)
0206 #endif
0207
dd9d2cc2bf Patr*0208 #ifdef ALLOW_DIFFKR_CONTROL
f90ba9b8a2 Patr*0209 CALL MNC_CW_ADD_VNAME('adDiffkr', 'Cen_xy_Hn__C__t', 4,5, myThid)
0210 CALL MNC_CW_ADD_VATTR_TEXT('adDiffkr',
0211 & 'units','[cost]/[m^2/s]', myThid)
0212 CALL MNC_CW_ADD_VATTR_TEXT('adDiffkr',
0213 & 'long_name','adjoint vertical diffusion', myThid)
0214 CALL MNC_CW_ADD_VATTR_TEXT('adDiffkr',
dd9d2cc2bf Patr*0215 & 'coordinates','XC YC RC iter', myThid)
0216 #endif
0217
5116830959 Patr*0218 #ifdef ALLOW_KAPGM_CONTROL
0219 CALL MNC_CW_ADD_VNAME('adkapgm', 'Cen_xy_Hn__C__t', 4,5, myThid)
0220 CALL MNC_CW_ADD_VATTR_TEXT('adkapgm',
0221 & 'units','[cost]/[m^2/s]', myThid)
0222 CALL MNC_CW_ADD_VATTR_TEXT('adkapgm',
0223 & 'long_name','adjoint isopycnal diffusion', myThid)
0224 CALL MNC_CW_ADD_VATTR_TEXT('adkapgm',
0225 & 'coordinates','XC YC RC iter', myThid)
0226 #endif
0227
7e2482cabc Gael*0228 #ifdef ALLOW_KAPREDI_CONTROL
0229 CALL MNC_CW_ADD_VNAME('adkapredi', 'Cen_xy_Hn__C__t', 4,5, myThid)
0230 CALL MNC_CW_ADD_VATTR_TEXT('adkapredi',
0231 & 'units','[cost]/[m^2/s]', myThid)
0232 CALL MNC_CW_ADD_VATTR_TEXT('adkapredi',
0233 & 'long_name','adjoint isopycnal diffusion', myThid)
47a1ba5f79 Jean*0234 CALL MNC_CW_ADD_VATTR_TEXT('adkapredi',
7e2482cabc Gael*0235 & 'coordinates','XC YC RC iter', myThid)
0236 #endif
0237
34a7c76e08 Patr*0238 #ifdef ALLOW_EXF
0239
0240 CALL MNC_CW_ADD_VNAME('adustress', 'Cen_xy_Hn__-__t', 3,4, myThid)
0241 CALL MNC_CW_ADD_VATTR_TEXT('adustress',
0242 & 'units','[cost]/[N/m^2]', myThid)
0243 CALL MNC_CW_ADD_VATTR_TEXT('adustress','long_name',
0244 & 'adjoint zonal wind stress', myThid)
0245 CALL MNC_CW_ADD_VATTR_TEXT('adustress',
0246 & 'coordinates','XC YC RC iter', myThid)
0247
0248 CALL MNC_CW_ADD_VNAME('advstress', 'Cen_xy_Hn__-__t', 3,4, myThid)
0249 CALL MNC_CW_ADD_VATTR_TEXT('advstress',
0250 & 'units','[cost]/[N/m^2]', myThid)
0251 CALL MNC_CW_ADD_VATTR_TEXT('advstress','long_name',
0252 & 'adjoint meridional wind stress', myThid)
0253 CALL MNC_CW_ADD_VATTR_TEXT('advstress',
0254 & 'coordinates','XC YC RC iter', myThid)
0255
0256 CALL MNC_CW_ADD_VNAME('adhflux', 'Cen_xy_Hn__-__t', 3,4, myThid)
0257 CALL MNC_CW_ADD_VATTR_TEXT('adhflux',
0258 & 'units','[cost]/[W/m^2]', myThid)
0259 CALL MNC_CW_ADD_VATTR_TEXT('adhflux','long_name',
0260 & 'adjoint net upward heat flux', myThid)
0261 CALL MNC_CW_ADD_VATTR_TEXT('adhflux',
0262 & 'coordinates','XC YC RC iter', myThid)
0263
0264 CALL MNC_CW_ADD_VNAME('adsflux', 'Cen_xy_Hn__-__t', 3,4, myThid)
0265 CALL MNC_CW_ADD_VATTR_TEXT('adsflux',
0266 & 'units','[cost]/[m/s]', myThid)
0267 CALL MNC_CW_ADD_VATTR_TEXT('adsflux','long_name',
0268 & 'adjoint net upward freshwater flux', myThid)
0269 CALL MNC_CW_ADD_VATTR_TEXT('adsflux',
0270 & 'coordinates','XC YC RC iter', myThid)
0271
0272 # ifdef ALLOW_ATM_TEMP
0273 CALL MNC_CW_ADD_VNAME('adatemp', 'Cen_xy_Hn__-__t', 3,4, myThid)
0274 CALL MNC_CW_ADD_VATTR_TEXT('adatemp',
0275 & 'units','[cost]/[degK]', myThid)
0276 CALL MNC_CW_ADD_VATTR_TEXT('adatemp','long_name',
0277 & 'adjoint surface air temperature', myThid)
0278 CALL MNC_CW_ADD_VATTR_TEXT('adatemp',
0279 & 'coordinates','XC YC RC iter', myThid)
0280
0281 CALL MNC_CW_ADD_VNAME('adaqh', 'Cen_xy_Hn__-__t', 3,4, myThid)
0282 CALL MNC_CW_ADD_VATTR_TEXT('adaqh',
0283 & 'units','[cost]/[kg/kg]', myThid)
0284 CALL MNC_CW_ADD_VATTR_TEXT('adaqh','long_name',
0285 & 'adjoint specific humidity', myThid)
0286 CALL MNC_CW_ADD_VATTR_TEXT('adaqh',
0287 & 'coordinates','XC YC RC iter', myThid)
0288
0289 CALL MNC_CW_ADD_VNAME('adprecip', 'Cen_xy_Hn__-__t', 3,4, myThid)
0290 CALL MNC_CW_ADD_VATTR_TEXT('adprecip',
0291 & 'units','[cost]/[m/s]', myThid)
0292 CALL MNC_CW_ADD_VATTR_TEXT('adprecip','long_name',
0293 & 'adjoint precipitation', myThid)
0294 CALL MNC_CW_ADD_VATTR_TEXT('adprecip',
0295 & 'coordinates','XC YC RC iter', myThid)
0296 # endif
e01fb501bf An T*0297 # ifdef ALLOW_RUNOFF
0298 CALL MNC_CW_ADD_VNAME('adrunoff', 'Cen_xy_Hn__-__t', 3,4, myThid)
0299 CALL MNC_CW_ADD_VATTR_TEXT('adrunoff',
0300 & 'units','[cost]/[m/s]', myThid)
0301 CALL MNC_CW_ADD_VATTR_TEXT('adrunoff','long_name',
0302 & 'adjoint runoff', myThid)
0303 CALL MNC_CW_ADD_VATTR_TEXT('adrunoff',
0304 & 'coordinates','XC YC RC iter', myThid)
0305 # endif
0306 # ifdef ALLOW_ATM_WIND
358649780a Gael*0307 IF ( useAtmWind ) THEN
34a7c76e08 Patr*0308 CALL MNC_CW_ADD_VNAME('aduwind', 'Cen_xy_Hn__-__t', 3,4, myThid)
0309 CALL MNC_CW_ADD_VATTR_TEXT('aduwind',
0310 & 'units','[cost]/[m/s]', myThid)
0311 CALL MNC_CW_ADD_VATTR_TEXT('aduwind','long_name',
0312 & 'adjoint zonal wind speed', myThid)
0313 CALL MNC_CW_ADD_VATTR_TEXT('aduwind',
0314 & 'coordinates','XC YC RC iter', myThid)
0315
0316 CALL MNC_CW_ADD_VNAME('advwind', 'Cen_xy_Hn__-__t', 3,4, myThid)
0317 CALL MNC_CW_ADD_VATTR_TEXT('advwind',
0318 & 'units','[cost]/[m/s]', myThid)
0319 CALL MNC_CW_ADD_VATTR_TEXT('advwind','long_name',
0320 & 'adjoint meridional wind speed', myThid)
0321 CALL MNC_CW_ADD_VATTR_TEXT('advwind',
0322 & 'coordinates','XC YC RC iter', myThid)
358649780a Gael*0323 ENDIF
e01fb501bf An T*0324 # endif
34a7c76e08 Patr*0325 # ifdef ALLOW_DOWNWARD_RADIATION
0326 CALL MNC_CW_ADD_VNAME('adswdown', 'Cen_xy_Hn__-__t', 3,4, myThid)
0327 CALL MNC_CW_ADD_VATTR_TEXT('adswdown',
0328 & 'units','[cost]/[W/m^2]', myThid)
0329 CALL MNC_CW_ADD_VATTR_TEXT('adswdown','long_name',
0330 & 'adjoint downward shortwave radiation', myThid)
0331 CALL MNC_CW_ADD_VATTR_TEXT('adswdown',
0332 & 'coordinates','XC YC RC iter', myThid)
49219fc174 An T*0333 CALL MNC_CW_ADD_VNAME('adlwdown', 'Cen_xy_Hn__-__t', 3,4, myThid)
0334 CALL MNC_CW_ADD_VATTR_TEXT('adlwdown',
0335 & 'units','[cost]/[W/m^2]', myThid)
0336 CALL MNC_CW_ADD_VATTR_TEXT('adlwdown','long_name',
0337 & 'adjoint downward wave radiation', myThid)
0338 CALL MNC_CW_ADD_VATTR_TEXT('adlwdown',
0339 & 'coordinates','XC YC RC iter', myThid)
34a7c76e08 Patr*0340 # endif
b56b667948 Patr*0341 # ifdef ALLOW_CLIMSST_RELAXATION
0342 CALL MNC_CW_ADD_VNAME('adclimsst', 'Cen_xy_Hn__-__t', 3,4, myThid)
0343 CALL MNC_CW_ADD_VATTR_TEXT('adclimsst',
0344 & 'units','[cost]/[degC]', myThid)
0345 CALL MNC_CW_ADD_VATTR_TEXT('adclimsst','long_name',
0346 & 'adjoint sea surface temperature', myThid)
0347 CALL MNC_CW_ADD_VATTR_TEXT('adclimsst',
0348 & 'coordinates','XC YC RC iter', myThid)
0349 # endif
0350 # ifdef ALLOW_CLIMSSS_RELAXATION
0351 CALL MNC_CW_ADD_VNAME('adclimsss', 'Cen_xy_Hn__-__t', 3,4, myThid)
0352 CALL MNC_CW_ADD_VATTR_TEXT('adclimsss',
ba0b047096 Mart*0353 & 'units','[cost]/[g/kg]', myThid)
b56b667948 Patr*0354 CALL MNC_CW_ADD_VATTR_TEXT('adclimsss','long_name',
0355 & 'adjoint sea surface salinity', myThid)
0356 CALL MNC_CW_ADD_VATTR_TEXT('adclimsss',
0357 & 'coordinates','XC YC RC iter', myThid)
0358 # endif
34a7c76e08 Patr*0359
0360 #endif
0361
f2ec7cf2fc Patr*0362 #ifdef ALLOW_SEAICE
0363
0364 CALL MNC_CW_ADD_VNAME('adarea', 'Cen_xy_Hn__-__t', 3,4, myThid)
0365 CALL MNC_CW_ADD_VATTR_TEXT('adarea',
0366 & 'units','[cost]/[m^2/m^2]', myThid)
0367 CALL MNC_CW_ADD_VATTR_TEXT('adarea','long_name',
0368 & 'adjoint fractional ice-covered area', myThid)
0369 CALL MNC_CW_ADD_VATTR_TEXT('adarea',
0370 & 'coordinates','XC YC RC iter', myThid)
0371
0372 CALL MNC_CW_ADD_VNAME('adheff', 'Cen_xy_Hn__-__t', 3,4, myThid)
0373 CALL MNC_CW_ADD_VATTR_TEXT('adheff',
0374 & 'units','[cost]/[m]', myThid)
0375 CALL MNC_CW_ADD_VATTR_TEXT('adheff','long_name',
0376 & 'adjoint effective ice thickness', myThid)
0377 CALL MNC_CW_ADD_VATTR_TEXT('adheff',
0378 & 'coordinates','XC YC RC iter', myThid)
0379
0380 CALL MNC_CW_ADD_VNAME('adhsnow', 'Cen_xy_Hn__-__t', 3,4, myThid)
0381 CALL MNC_CW_ADD_VATTR_TEXT('adhsnow',
0382 & 'units','[cost]/[m]', myThid)
0383 CALL MNC_CW_ADD_VATTR_TEXT('adhsnow','long_name',
0384 & 'adjoint snow thickness', myThid)
0385 CALL MNC_CW_ADD_VATTR_TEXT('adhsnow',
0386 & 'coordinates','XC YC RC iter', myThid)
0387
45315406aa Mart*0388 # ifdef SEAICE_CGRID
f2ec7cf2fc Patr*0389 CALL MNC_CW_ADD_VNAME('aduice', 'U_xy_Hn__-__t', 3,4, myThid)
0390 CALL MNC_CW_ADD_VATTR_TEXT('aduice',
0391 & 'units','[cost]/[m/s]', myThid)
0392 CALL MNC_CW_ADD_VATTR_TEXT('aduice','long_name',
0393 & 'adjoint zonal ice velocity', myThid)
0394 CALL MNC_CW_ADD_VATTR_TEXT('aduice',
0395 & 'coordinates','XG YG RC iter', myThid)
0396
0397 CALL MNC_CW_ADD_VNAME('advice', 'V_xy_Hn__-__t', 3,4, myThid)
0398 CALL MNC_CW_ADD_VATTR_TEXT('advice',
0399 & 'units','[cost]/[m/s]', myThid)
0400 CALL MNC_CW_ADD_VATTR_TEXT('advice','long_name',
0401 & 'adjoint meridional ice velocity', myThid)
0402 CALL MNC_CW_ADD_VATTR_TEXT('advice',
0403 & 'coordinates','XG YG RC iter', myThid)
0404 # endif
0405
0406 #endif
34a7c76e08 Patr*0407
56d9c78b68 Mart*0408
0409
0410
0411
0412
0413
0414
0415
0416
0417
0418
0419
0420
0421
0422
0423
0424
0425
0426
0427
0428
0429
0430
0431
0432
0433
0434
0435
0436
0437
0438
0439
0440
0441
0442
0443
0444
0445
0446
0447
e36dc880d2 Patr*0448
6bd3b6b067 Patr*0449 ENDIF
47a1ba5f79 Jean*0450 #endif /* ALLOW_MNC and ALLOW_AUTODIFF_MONITOR */
6bd3b6b067 Patr*0451
0452
0453
0454 RETURN
0455 END