design & architecture livvconf 1 g: mynewconf1g os type: linux 3. 13.0-24-generlc 00k at my...

15
LIVV: Andrew Bennett, Kate Evans Design & Architecture

Upload: others

Post on 09-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Design & Architecture LIVVConf 1 g: myNewConf1g OS Type: Linux 3. 13.0-24-generlc 00k at my conflguratlon flLe! Wow! Running tests. dome30/d1 agnostic dome30/evolv1 ng Ism p- hom-

LIVV:

Andrew Bennett, Kate Evans

Design &Architecture

Page 2: Design & Architecture LIVVConf 1 g: myNewConf1g OS Type: Linux 3. 13.0-24-generlc 00k at my conflguratlon flLe! Wow! Running tests. dome30/d1 agnostic dome30/evolv1 ng Ism p- hom-

What is LIVV?● Land Ice

● Verification

● Validation

This one is easy.

Does the code do what we want it to?

Does the code work correctly?

Page 3: Design & Architecture LIVVConf 1 g: myNewConf1g OS Type: Linux 3. 13.0-24-generlc 00k at my conflguratlon flLe! Wow! Running tests. dome30/d1 agnostic dome30/evolv1 ng Ism p- hom-

Good Design

Good Tools=

● Internal Dependency Management

● Leverage existing technologies

● Separate input, processing, and output

● Easy to set up and start using productively

● More productivity with less code

● Modular, extensible, and maintainable

Page 4: Design & Architecture LIVVConf 1 g: myNewConf1g OS Type: Linux 3. 13.0-24-generlc 00k at my conflguratlon flLe! Wow! Running tests. dome30/d1 agnostic dome30/evolv1 ng Ism p- hom-

Design

Dependency Checking

LIVV

External Libraries

test suite

Common tests Test modules

Web Generation

External Utilities

Page 5: Design & Architecture LIVVConf 1 g: myNewConf1g OS Type: Linux 3. 13.0-24-generlc 00k at my conflguratlon flLe! Wow! Running tests. dome30/d1 agnostic dome30/evolv1 ng Ism p- hom-

Test Suites

Page 6: Design & Architecture LIVVConf 1 g: myNewConf1g OS Type: Linux 3. 13.0-24-generlc 00k at my conflguratlon flLe! Wow! Running tests. dome30/d1 agnostic dome30/evolv1 ng Ism p- hom-

Test Suites

Page 7: Design & Architecture LIVVConf 1 g: myNewConf1g OS Type: Linux 3. 13.0-24-generlc 00k at my conflguratlon flLe! Wow! Running tests. dome30/d1 agnostic dome30/evolv1 ng Ism p- hom-

Good Design?● The code worked fine before.

● Refactoring…? Boring.

● If it’s so easy to add on where’s the new stuff!?

Page 8: Design & Architecture LIVVConf 1 g: myNewConf1g OS Type: Linux 3. 13.0-24-generlc 00k at my conflguratlon flLe! Wow! Running tests. dome30/d1 agnostic dome30/evolv1 ng Ism p- hom-

New Features!● Internal Dependency Management

● User specified configurations

● Simplified IO via templating

Page 9: Design & Architecture LIVVConf 1 g: myNewConf1g OS Type: Linux 3. 13.0-24-generlc 00k at my conflguratlon flLe! Wow! Running tests. dome30/d1 agnostic dome30/evolv1 ng Ism p- hom-

DependencyManagement● Nobody likes figuring out how to

install software

Page 10: Design & Architecture LIVVConf 1 g: myNewConf1g OS Type: Linux 3. 13.0-24-generlc 00k at my conflguratlon flLe! Wow! Running tests. dome30/d1 agnostic dome30/evolv1 ng Ism p- hom-

DependencyManagement● So far, limited to installing Python libraries

● Soon, installing system dependencies (NCL, NetCDF, etc.)

Page 11: Design & Architecture LIVVConf 1 g: myNewConf1g OS Type: Linux 3. 13.0-24-generlc 00k at my conflguratlon flLe! Wow! Running tests. dome30/d1 agnostic dome30/evolv1 ng Ism p- hom-

Configurations

Page 12: Design & Architecture LIVVConf 1 g: myNewConf1g OS Type: Linux 3. 13.0-24-generlc 00k at my conflguratlon flLe! Wow! Running tests. dome30/d1 agnostic dome30/evolv1 ng Ism p- hom-

Configurations

Page 13: Design & Architecture LIVVConf 1 g: myNewConf1g OS Type: Linux 3. 13.0-24-generlc 00k at my conflguratlon flLe! Wow! Running tests. dome30/d1 agnostic dome30/evolv1 ng Ism p- hom-

Configurations

Page 14: Design & Architecture LIVVConf 1 g: myNewConf1g OS Type: Linux 3. 13.0-24-generlc 00k at my conflguratlon flLe! Wow! Running tests. dome30/d1 agnostic dome30/evolv1 ng Ism p- hom-

Templating

Page 15: Design & Architecture LIVVConf 1 g: myNewConf1g OS Type: Linux 3. 13.0-24-generlc 00k at my conflguratlon flLe! Wow! Running tests. dome30/d1 agnostic dome30/evolv1 ng Ism p- hom-

The Future● Support for additional dycores● Upgrades to performance testing● Comparison of models and observational data● Tighter integration with CISM