Upload
others
View
5
Download
0
Embed Size (px)
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