Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

combine new UPF-v3 schema with ltalirz/upf-schema (v2) and add ghpage #11

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

unkcpz
Copy link

@unkcpz unkcpz commented Sep 5, 2022

I move the schema from https://github.com/ltalirz/upf-schema to this repository as qe_pp-v2.xsd, update the latest schema with with annotations and format as qe_pp-v3.xsd.

Moreover, I generate the documentation and serve it on ghpage.
Please check the example from https://unkcpz.github.io/qeschemas/.

  • Check the UPF schema again with UPF doc on QE and UPF doc on CECAM
  • Generate the doc from schema and serve the github page.
  • Generate doc and server of PH/PW schema

@ltalirz @pietrodelugas If this is what we need, I will keep on adding the PH/PW schema doc to the ghpage. Let me know what your thoughts.

@ltalirz
Copy link
Contributor

ltalirz commented Sep 5, 2022

That's great work @unkcpz , I'm all for it and will happily archive my repository after this is done.

I think creating similar pages for the PH/PW schemas would indeed be very useful as well.

If you encounter differences between the UPF schema in my repo and the one in qeschemas, perhaps
@pietrodelugas can provide some guidance if you list them here

@pietrodelugas
Copy link
Member

sorry
there's been a misunderstanding. The new schema should be qe_pp.xsd (+ corrections, expansions, and documentation). The differences are not substantial because both describe the data contained in the UPF Fortran datatype. Just some changes in the organization of the data. The one that you are merging here is the UPF v2, which we were planning to replace.

@unkcpz
Copy link
Author

unkcpz commented Sep 5, 2022

@pietrodelugas You mean we need to keep the UPF/qe_pp-0.99.xsd and add UPF/qe_pp-2.xsd correct?

(+ corrections, expansions, and documentation)

Sure, will do that.

@ltalirz
Copy link
Contributor

ltalirz commented Sep 5, 2022

The one that you are merging here is the UPF v2, which we were planning to replace.

You are planning to replace UPF v2? By what?

@pietrodelugas
Copy link
Member

pietrodelugas commented Sep 6, 2022

@ltalirz it's pratically already replaced by qe_pp.xsd schema, in the sense that any new change in the format (e.g. kinetic energy density, new names for functionals) will be implemented only in the new version.
Which again is not very different from UPF v2, just few changes:

  • tags with lower case
  • uniuqe tag name for the beta projectors
  • full relativistic quantum numbers are now attributes of the projectors and wave functions.

given that the current changes are mostly aesthetic all the work of in the documentation of @unkcpz can be directly reused in the new schema. Also please consider to add the new changes directly in the new format.
As for the UPF v2 schema, if you want we can put it here as well for legacy. But I would concentrate most of the work in the qe_*.xsd schema.

@ltalirz
Copy link
Contributor

ltalirz commented Sep 6, 2022

Ah, I see.
What is the official name of this format? It will no longer be called UPF?
Why not UPF v3?

@giannozz
Copy link

giannozz commented Sep 6, 2022

There is no "official" name for the new format, but UPF v.3 looks like a reasonable choice. The state of the art is as follows:

  • v.1 of the UPF format is documented but it is not well structured and must be considered obsolete
  • v.2 is partially documented, it is better structured but has some weird aspects such as tag names containing an index (e.g. PP_BETA.1, PP_BETA.2 etc.) that make its description with an xsd schema problematic. Should be replaced soon by:
  • v.3 that is a true xml format with a more logical structure and an xsd schema (currently, qe_pp.0.99.xsd). V.3 is implemented but not documented and not advertised, so it is not yet used by anybody.

In principle I agree that it would be preferable to document v.3, using the existing schema. Since however the differences between v.2 and v.3 are relatively minor and straightforward, we may also consider documenting the v.2 schema and porting the information into the v.3 schema later.

By the way: a few days ago I had started to review the documentation of v.2 because what is available is in part incomplete, in part obsolete. Attached what I have done.

pp.md

@unkcpz
Copy link
Author

unkcpz commented Sep 13, 2022

Hi @ltalirz @pietrodelugas @giannozz, thanks a lot for the information.
I spend sometime to merge the UPF2 and the new schema (UPF3 if we agree on the name), please check the https://unkcpz.github.io/qeschemas/ for the documentation generated from schema.

During the implementation I come up with some questions and think it worth to discuss:

  • Some elements/attributes can be deprecated in the new version (or already not included in UPFv3)? Such as pp_semilocal which not appear in new schema. And paw_as_gipaw, mesh/rmax attributes in mesh type, cutoff_r/cutoff_r_index/l_max_aug in ppAgumentationType. Do we need to clean up for the new version?
  • Duplicate name of element pp_pswfc with different types. It is a root element for pseudo wavefunction with type pswfcType, and as as sub-element in pp_full_wfc with type chiType. It won't cause schema issue but might be a bit confused.

@pietrodelugas can you provide a new version of UPF file so I can test the schema is correct.

@unkcpz unkcpz changed the title Replace UPF schema with schema from ltalirz/upf-schema and add ghpage combine new UPF-v3 schema with ltalirz/upf-schema (v2) and add ghpage Sep 15, 2022
@pietrodelugas
Copy link
Member

sorry @unkcpz the delay.
I just noticed this, I will review it asap.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants