C $Header: /u/gcmpack/MITgcm/pkg/ecco/cost_gencost_all.F,v 1.26 2017/04/03 23:16:38 ou.wang Exp $ C $Name: $ #include "ECCO_OPTIONS.h" subroutine COST_GENCOST_ALL( myiter, mytime, mythid ) c ================================================================== c SUBROUTINE cost_gencost_all c ================================================================== c c o Evaluate user defined penalty terms c c ================================================================== c SUBROUTINE cost_gencost_all c ================================================================== implicit none c == global variables == #include "SIZE.h" #include "EEPARAMS.h" #include "PARAMS.h" #include "GRID.h" #ifdef ALLOW_CAL # include "cal.h" #endif #ifdef ALLOW_ECCO # include "ecco.h" #endif c == routine arguments == integer mythid integer myiter _RL mytime #ifdef ALLOW_GENCOST_CONTRIBUTION c == local variables == character*(max_len_mbuf) msgbuf integer nnzbar integer nnzobs integer k integer nrecloc, nrecperiodloc c == external functions == c == end of interface == do k = 1, NGENCOST if ( (using_gencost(k)).AND.( gencost_flag(k).EQ.1 ) & .AND.( .NOT.gencost_is1d(k) ) ) then #ifdef ALLOW_DEBUG IF ( debugLevel .GE. debLevD ) THEN write(msgbuf,'(a,x,i2.2)') 'gencost #', k call PRINT_MESSAGE( msgbuf, standardmessageunit, & SQUEEZE_RIGHT , mythid) ENDIF #endif if ( .NOT.gencost_is3d(k) ) then nnzbar = 1 nnzobs = 1 else nnzbar = nr nnzobs = nr endif nrecloc= gencost_nrec(k) nrecperiodloc= gencost_nrec(k) call COST_GENERIC( & nnzbar, gencost_barfile(k), gencost_dummy(k), & nnzobs, gencost_datafile(k), gencost_errfile(k), & mult_gencost(k), nrecloc, nrecperiodloc, & gencost_startdate(1,k), gencost_period(k), 'c', & gencost_spmin(k), gencost_spmax(k), gencost_spzero(k), & gencost_preproc(1,k), gencost_preproc_c(1,k), & gencost_preproc_i(1,k), gencost_preproc_r(1,k), & gencost_posproc(1,k), gencost_posproc_c(1,k), & gencost_posproc_i(1,k), gencost_posproc_r(1,k), & gencost_outputlevel(k), gencost_name(k), & objf_gencost(1,1,k), num_gencost(1,1,k), & myiter, mytime, mythid ) endif ! if ( (using_gencost(k)).AND.( gencost_flag(k).EQ.1 ) ) then end
do call COST_GENCOST_GLBMEAN( mythid ) call COST_GENCOST_BOXMEAN( mythid ) call COST_GENCOST_BPV4( mythid ) IF (using_cost_transp) call COST_GENCOST_TRANSP( mythid ) IF (using_cost_altim) call COST_GENCOST_SSHV4( mythid ) IF (using_cost_sst) call COST_GENCOST_SSTV4( mythid ) IF (using_cost_seaice) call COST_GENCOST_SEAICEV4( mythid ) #endif /* ALLOW_GENCOST_CONTRIBUTION */ end