DART Tutorial Sec’on 25: A simple 1D advec’on model ...€¦ · source_random_amp_frac =...

Preview:

Citation preview

TheNa'onalCenterforAtmosphericResearchissponsoredbytheNa'onalScienceFounda'on.Anyopinions,findingsandconclusionsorrecommenda'onsexpressedinthispublica'onarethoseoftheauthor(s)anddonotnecessarilyreflecttheviewsoftheNa'onalScienceFounda'on.

©UCAR

DARTTutorialSec'on25:Asimple1Dadvec'onmodel:

TracerDataAssimila'on

1DSimpleAdvec'onModel:Overview

1.Onedimensionalperiodicdomain.

2.Chao'c/stochas'cmodelforwind.

3.Singlepassivetraceradvectedbywind.

4.Stochas'cmodelfortracersourcecanbeadded.

5.Diurnalcyclefortracersourcecanbeadded.

6.Modelforphaseoffsetofdiurnalcyclecanbeadded.

DARTTutorialSec'on25:Slide2

Foundinmodels/simple_advec,on

models/simple_advec'on/work/

1DSimpleAdvec'onModel

Modeldomain,'mestepping,andnamelistcontrols(initalics):

1.One-dimensional,periodicgridondomain[0,1].

2.Equally-spacedgridpoints,numbercontrolledbynum_grid_points.

3.Loca'onofgridpointsis0,1/N,2/N,...,N-1/N;N=num_grid_points.

4.Distancebetweengridpointsisgrid_spacing_meters.

5.Time-steppingcontrolledby0me_step_days,0me_step_seconds.

DARTTutorialSec'on25:Slide3

Thewindmodel:Burger’sEqua'on

1.Windequa'onis:

2.Con'nuoussolu'onformsshockswhenuvarieswithx.

3.UseupstreamLagrangiandifferencing:

a.Letuibevelocityatgridpointilocatedatxi;Δtis'mestep.

b.Sourceloca'onforwindis:xs=xi–uiΔt

c.Linearlyinterpolateutoxs;thisisnewwindatgridpointi.

4.Thisisheavydamping.

5.Generallywon’tformshocks,evenwhenanaly'csolu'onshould.

∂u∂t

=−u ∂u∂x

DARTTutorialSec'on25:Slide4

WindModel2:Namelistcontrolsinitalics

1.Withoutsomethingaddi'onal,dampstospa'allyconstant.

2.Randomlyperturbeachgridpointvalueofuevery'mestep:

,i=1,...,N

W=wind_random_amp

3.Dampthespa'almeanwindfieldtoM=mean_wind:

WDiswind_damping_rate

ui = ui +Normal 0,WΔt( )

u t+Δt( )= u t( )−WDΔt u t( )−M⎡⎣ ⎤⎦

DARTTutorialSec'on25:Slide5

Tryingoutthewindmodel

1.  Run./perfect_model_obsandusencviewtrue_state.nctocheckoutthewinds (ignoretheotherfieldsfornow).

2.  Makesureyouunderstandthespa'al/temporalbehaviorofwinds.

3.  Playwithmean_wind,wind_damping_rate,wind_random_amp togetdifferenttypesofflows.

4.  Havingwindsreversewillbeinteres'ngforsometracercases.

DARTTutorialSec'on25:Slide6

cd models/simple_advection/workcsh workshop_setup.csh

Tracerfieldandnamelistcontrol(italics)

1.Asinglepassive(doesn’taffectwind)tracerisadvectedbythewind.

2.Havetracerconcentra'on,Ci,ateachgridpoint.

3.Semi-lagrangianupstream'medifferencing(sameasforwind).

4.Thereisatracersource/sinkrate,Si,ateachgridpoint.

5.AlsoabackgroundD=destruc0on_rate(percent/second).Ci=Ci+SiΔt–DΔtCi

DARTTutorialSec'on25:Slide7

Anassimila'onexample

1.Observa'ons(20altogether):Tenequally-spacedco-locatedobserva'onsofuandC.Locatedhalfwaybetweengridpoints(0.05,0.15,...,0.95).Forwardobserva'onoperatorislinearinterpola'on(mean).uobserva'onshaveerrorvarianceof16.01.Cobserva'onshaveerrorvarianceof1000.2.(Apparentlyinsignificantdecimalsmakechangingtheseeasier)

2.Basenamelistassimilatesbothtypesofobserva'ons.3.Run./perfect_model_obsfollowedby./filter.

(Makesuretousebaseinput.nml,etc.).4.UseMatlabtoexaminebehavioroftheassimila'on.5.Keeptrackoferrorsforconcentra'onandwindfields.

DARTTutorialSec'on25:Slide8

Anassimila'onexample(2)

1.Lookatimpactofusingsubsetsoftheobserva'ons.2.Observa'onsbeingusedarecontrolledin&obs_kind_nml.Defaultis: assimilate_these_obs_types = ‘TRACER_CONCENTRATION’, ‘VELOCITY’, evaluate_these_obs_types = ‘TRACER_SOURCE’ /

Changetoassimila'ngonlywindobserva'ons:

assimilate_these_obs_types = ‘VELOCITY’,evaluate_these_obs_types = ‘TRACER_CONCENTRATION’, ‘TRACER_SOURCE’ /

3.Tryassimila'ngonlywind,onlyconcentra'onandnotassimila'nganything(deleteassimilate_these_obs_types).Recordresultsandunderstandwhat’sgoingon.

DARTTutorialSec'on25:Slide9

Tracersourcemodelandnamelistcontrol

1.Sofar,tracersourcehasbeenconstantin'me(notinspace).

2.Makethesourcemodeladampedrandomwalkateachgridpoint.

Addrandomnoisetoeachgridpointateach'mestep. Alsodamptoa'memeanvalue.

whereSR=source_random_amp_frac,SD=source_damping_rateandis'memeanvalueforsourceatthisgridpoint.

isactuallya4thsetofstatevariables(definedateachgridpoint).WewillNOTworkwiththissetofvariableshere.

Si = Si +Normal 0,SR( )−SD Si−Si( )

Si

Si

DARTTutorialSec'on25:Slide10

Assimila'onwith'me-varyingtracersource

1.  Repeattheassimila'onswithdifferentclassesofobserva'ons.(./perfect_model_obsfollowedby./filter)

2.  This'me,alsokeeptrackoferrorsforthesourcefield.

3.  Whathappensifsource_random_amp_frac=0.00001?

Canyoufindwaystoimprovefilterperformanceinthesecases?

&model_nml source_random_amp_frac = 0.000002

&perfect_model_obs_nml input_state_files = ‘perfect_input_source_noise.nc’

&filter_nml input_state_file_list = ‘filter_input_list.txt’

filter_input_list.txtcontainsalistofinputfiles,forthismodel,thereisonlyonefileinthelist.Editthecontentsoffilter_input_list.txttocontainfilter_input_source_noise.nc

Usetheseselngs:

DARTTutorialSec'on25:Slide11

Diurnalcomponentfortracersourcemodel

1.  source_diurnal_rel_ampcontrolsamplitudeofdiurnalcomponentasfrac'onofsourcevalue.

2.Turnthisonandtryassimila'onexperimentsagain.

&perfect_model_obs_nml…input_state_files = “perfect_input_diurnal.nc”

&model_nml…source_diurnal_rel_amp = 0.05,

3.Changecontentsoffilter_input_list.txttofilter_input_diurnal.nc

DARTTutorialSec'on25:Slide12

Impactofobserva'ondensity

&perfect_model_obs_nml … obs_seq_in_file_name = “obs_seq.in.half”

1.  Repeatthedifferentassimila'oncases. Run./perfect_model_obsfollowedby./filter.

2.  Whathappensifobserva'onsgetevensparser?(You’llhavetodoyourownobserva'onsequencedesignforthis).

Trythis:

Itisagoodideatosvn revert set_def.out obs_seq.inaoeryouaredonewithyourownobserva'onsequencedesignand

experimenta'ontostayconsistentwiththetutorialmaterial.

DARTTutorialSec'on25:Slide13

UsingDAtolearnaboutthesourcemodel

&model_nml source_phase_noise = 0.00001

&perfect_model_obs_nml obs_seq_in_file_name = ‘obs_seq.in’ input_state_files = ‘perfect_input.nc’

&filter_nml input_state_file_list = ‘filter_input_list.txt’

1.  Changecontentsoffilter_input_list.txttofilter_input.nc2.  Run./perfect_model_obsfollowedby./filter

Thisisbasicallyparameteres'ma'on.Trythis:

DARTTutorialSec'on25:Slide14

DAforsourceswithlotsofstructure

&model_nml source_phase_noise = 0.0

&perfect_model_obs_nml obs_seq_in_file_name = ‘obs_seq.in’ input_state_files = ‘perfect_input_saw.nc’

Thesourcehaslargemeanvalueatpoints1,3and5,smallelsewhere.Canoneresolvethisspa'alstructure?

Trythis:

1.  Changecontentsoffilter_input_list.txttofilter_input_saw.nc2.  Run./perfect_model_obsfollowedby./filter

DARTTutorialSec'on25:Slide15

Problemstoexplore

1.Pickoneoftheconfigura'onsabove.Supposethatwindobserva'onscost$10andconcentra'onobserva'onscost$20.Ifyouhave$200tospendonobserva'ons(thatMUSTbelocatedhalfwaybetweenthegridpoints),whatisthebestobserving/assimila'onsystemyoucandesign?Theerrorvarianceoftheobserva'onsisfixedasintheoriginalcases.Youcanputmul'pleobserva'onsofanykindatanobservingloca'on.Themetricofsuccessisthesmallesttotalerrorfortheconcentra'on.Whatifthemetricisthesmallesttotalerrorforthesource?2.Supposeyoucanonlytakeobserva'onsonceadaybutthesourcehasafixeddiurnalcomponent.Isthereanywaytolearnanythingaboutthediurnalcomponent?Youcanuseasmanyobserva'onsasyouwantforthis.Askhowtochangetheobserva'onfrequency.

DARTTutorialSec'on25:Slide16

Problemstoexplore(2)

3.Forthesawtoothsourcepaqern,whathappensasthenumberofobservingloca'onsgoesdowninthiscase?4.Whathappenstothequalityoftheassimila'onsinsomeofthecasesaboveifthedestruc0on_rateismadesmallerorbigger(it’salreadypreqybiginsomesense)?5.Wemightbehappieriftracerwerenotcreatedordestroyedbytheassimila'on.Istheassimila'oncrea'nganddestroyingtracer?Isthereanysystema'ccomponenttothis?Canyoufindwaystoreducecrea'on/destruc'onbytheassimila'onscheme?6.Whathappensifweuseafixed-lagsmootherinthisproblem?Howshouldthesmootherbetuned?Whathappenstotracerdestruc'on/crea'oninthesmootheres'mates?

DARTTutorialSec'on25:Slide17

Problemstoexplore(3)

7.Canyouthinkofgoodwaystoaddmodelerrorintothissystem?Ifyoudo,whathappenstothequalityoftheassimila'onsforvarioustypesofexperiments?Simula'ngmodelerrorinameaningfulwayisessen'altopredic'ngwhatwillhappenwhenoneswitchestorealobserva'ons.

DARTTutorialSec'on25:Slide18

1.   FilteringForaOneVariableSystem2.   TheDARTDirectoryTree3.   DARTRun,meControlandDocumenta,on4.   Howshouldobserva,onsofastatevariableimpactanunobservedstatevariable?

Mul,variateassimila,on.5.   ComprehensiveFilteringTheory:Non-Iden,tyObserva,onsandtheJointPhaseSpace6.   OtherUpdatesforAnObservedVariable7.   SomeAddi,onalLow-OrderModels8.   DealingwithSamplingError9.   MoreonDealingwithError;Infla,on10.   RegressionandNonlinearEffects11.   Crea,ngDARTExecutables12.   Adap,veInfla,on13.   HierarchicalGroupFiltersandLocaliza,on14.   QualityControl15.   DARTExperiments:ControlandDesign16.   Diagnos,cOutput17.   Crea,ngObserva,onSequences18.   LostinPhaseSpace:TheChallengeofNotKnowingtheTruth19.   DART-CompliantModelsandMakingModelsCompliant20.   ModelParameterEs,ma,on21.   Observa,onTypesandObservingSystemDesign22.   ParallelAlgorithmImplementa,on23.   Loca,onmoduledesign(notavailable)24.   Fixedlagsmoother(notavailable)25.   Asimple1Dadvec,onmodel:TracerDataAssimila,on

DARTTutorialIndextoSec'ons

DARTTutorialSec'on25:Slide19

Recommended